Come strutturare un programma in classi [chiuso]

2

Quindi, dopo un po 'di lavoro nel campo della programmazione, non ho ancora capito come dovrebbero essere strutturati esattamente i programmi, in un grande insieme intendo. Penso che sia anche a causa del lavoro nello sviluppo di un'impresa.

Dì che voglio scrivere un programma, un messenger per una rete LAN. Come faccio a sapere veramente le classi da creare per questo programma? Come dividere il programma in parti e classi più piccole nel modo migliore e più efficiente? Questo è solo un esempio. Non intendo specificamente per questo problema, è l'approccio generale di cui mi sto interrogando.

EDIT: ho posto questa domanda qui perché dice esattamente nel centro assistenza:

What topics can I ask about here?

Programmers Stack Exchange is a Q&A site for professionals and students in software development and related fields who are interested in getting expert answers on conceptual questions about software development.

If you have a question about...

software requirements

software architecture and design

algorithm and data structure concepts

La mia domanda, secondo la mia comprensione, si riferisce all'architettura e al design . Non è una domanda di codifica specifica altrimenti sarebbe stato chiesto su Stackoverflow. È una domanda concettuale che dovrebbe essere adatta qui. I commenti e le risposte si riferiscono al fatto che ci sono molti libri che trattano questo argomento. Accetterei persino un nome di un libro per una risposta se il libro risponde alla mia domanda. Se la risposta non rientra in questa forma di Q & A, almeno potrei essere indicata nella giusta direzione. Dopotutto siamo tutti qui per imparare qualcosa.

    
posta Erfan 06.07.2014 - 19:15
fonte

1 risposta

4

Secondo alcune definizioni, una classe è un tipo (o una struttura) che fornisce implementazione e interfaccia (supponendo che non sia una classe astratta) per alcuni sottoinsiemi specifici di un problema.

Con questo in mente possiamo dire che il modo più sensato di organizzare e classificare la classe sarebbe dividerli logicamente .

Nel tuo esempio le classi potrebbero essere:

Message
Session
Atendee
Status
Connection
... and so on

Questo è tutto strettamente correlato a OOP: programmazione orientata agli oggetti - link - se dai un'occhiata in Encapsulation enforces modularity puoi vedere che

Encapsulation refers to the creation of self-contained modules that bind processing functions to the data. These user-defined data types are called "classes," and one instance of a class is an "object." For example, in a payroll system, a class could be Manager, and Pat and Jan could be two instances (two objects) of the Manager class. Encapsulation ensures good code modularity, which keeps routines separate and less prone to conflict with each other.

... che è più o meno quello che stavo cercando di trasmettere.

    
risposta data 06.07.2014 - 20:59
fonte

Leggi altre domande sui tag