La progettazione orientata agli oggetti è il processo di pianificazione di un sistema di oggetti interagenti allo scopo di risolvere un problema software.
Questa sarà una domanda delicata, non tecnica, e non sono sicuro che questa sia la piattaforma giusta. Ma sono uno studente CS iniziale quindi spero che lo tolleriate. Nel primo semestre ci sono stati introdotti concetti OOP come incapsulamento, nascondimento dei dati, modularità, eredità e così via attraverso Java e …
Di tanto in tanto ho visto una pratica che "sembra" sbagliata, ma non riesco ad articolare cosa c'è di sbagliato al riguardo. O forse è solo un mio pregiudizio. Ecco qui: Uno sviluppatore definisce un metodo con un valore booleano come uno dei suoi parametri, e quel metodo chiama un …
Da quando ho appreso per la prima volta i modelli di design di Gang of Four (GoF) , almeno 10 anni fa, ho l'impressione che questi 23 modelli debbano essere solo un piccolo campione di qualcosa di molto più grande che mi piace chiamare Pattern Space . Questo ipotetico spazio …
Sto cercando una raccomandazione qui. Sto lottando con se sia meglio restituire NULL o un valore vuoto da un metodo quando il valore restituito non è presente o non può essere determinato. Prendi i seguenti due metodi come esempi: string ReverseString(string stringToReverse) // takes a string and reverses it. Person …
Supponiamo di avere un elenco di entità Task e un ProjectTasksottotipo. Le attività possono essere chiuse in qualsiasi momento, tranne ProjectTasksche non possono essere chiuse una volta che hanno lo stato Avviato. L'interfaccia utente dovrebbe garantire che l'opzione per chiudere un avvio ProjectTasknon sia mai disponibile, ma nel dominio sono …
Sto lavorando allo sviluppo web dal 2009, quando ho iniziato con PHP. Quando mi sono trasferito su ASP.NET ho sentito molto parlare di DDD e OOAD, dove molta attenzione è stata data a questa "logica di business" e "regole di business". Il punto è che tutte le app che ho …
Nota del moderatore Questa domanda ha già ricevuto diciassette risposte . Prima di pubblicare una nuova risposta, leggi le risposte esistenti e assicurati che il tuo punto di vista non sia già adeguatamente coperto. Ho seguito alcune delle pratiche raccomandate nel libro "Clean Code" di Robert Martin, in particolare quelle …
Se un quadrato è un tipo di rettangolo, allora perché un quadrato non può ereditare da un rettangolo? O perché è un cattivo design? Ho sentito persone dire: Se hai creato Square derivato da Rectangle, un Square dovrebbe essere utilizzabile ovunque ti aspetti un rettangolo Qual è il problema qui? …
Sto facendo fatica a cercare risorse sul perché dovrei usare l' iniezione di dipendenza . La maggior parte delle risorse che vedo spiega che passa solo un'istanza di un oggetto a un'altra istanza di un oggetto, ma perché? Questo è solo per un'architettura / codice più pulito o influisce sulle …
Nel dibattito sui modelli di dominio Rich vs. Anemic, Internet è piena di consigli filosofici ma a corto di esempi autorevoli. L'obiettivo di questa domanda è trovare linee guida definitive ed esempi concreti di modelli di progettazione basati su dominio adeguati. (Idealmente in C #.) Per un esempio reale, questa …
Stroustrup dice "Non inventare immediatamente una base unica per tutte le tue classi (una classe Object). In genere, puoi fare di meglio senza di essa per molte / la maggior parte delle classi." (Il linguaggio di programmazione C ++ Quarta edizione, Sezione 1.3.4) Perché una classe base per tutto è …
Sto programmando da un paio d'anni e in genere sono bravo quando si tratta di risolvere problemi e creare script di dimensioni medio-piccole, tuttavia non sono generalmente bravo a progettare programmi su larga scala in modo orientato agli oggetti. Poche domande Di recente, un collega che ha lo stesso numero …
Di recente ho iniziato a lavorare in un posto con alcuni sviluppatori molto più vecchi (circa 50+ anni). Hanno lavorato su applicazioni critiche che si occupano di aviazione in cui il sistema non potrebbe andare in crash. Di conseguenza il programmatore più anziano tende a programmare in questo modo. Tende …
L'esempio utilizzato nella domanda passa dati minimi nudi a una funzione che tocca il modo migliore per determinare se l'utente è un amministratore o meno. Una risposta comune è stata: user.isAdmin() Ciò ha provocato un commento che è stato ripetuto più volte e votato più volte: Un utente non dovrebbe …
Attualmente sto lavorando a un progetto software che esegue compressione e indicizzazione su filmati di videosorveglianza. La compressione funziona dividendo gli oggetti di sfondo e di primo piano, quindi salvando lo sfondo come immagine statica e il primo piano come uno sprite. Di recente, ho iniziato a rivedere alcune delle …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.