Mnemonici per un insieme di principi di progettazione: responsabilità singola, aperto-chiuso, sostituzione di Liskov, segregazione dell'interfaccia, inversione di dipendenza
Sembra abbastanza chiaro che "Principio della singola responsabilità" non significa "fa solo una cosa". Ecco a cosa servono i metodi. public Interface CustomerCRUD { public void Create(Customer customer); public Customer Read(int CustomerID); public void Update(Customer customer); public void Delete(int CustomerID); } Bob Martin afferma che "le lezioni dovrebbero avere solo …
Durante un recente colloquio di lavoro, non ho potuto rispondere a una domanda su SOLID - oltre a fornire il significato di base dei vari principi. Mi infastidisce davvero. Ho fatto un paio di giorni per scavare e non ho ancora trovato un riassunto soddisfacente. La domanda dell'intervista era: Se …
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 …
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? …
Mi piace SOLID e faccio del mio meglio per usarlo e applicarlo durante lo sviluppo. Ma non posso fare a meno di pensare che l'approccio SOLID trasformi il tuo codice in codice "framework", ovvero il codice che progetteresti se stessi creando un framework o una libreria che altri sviluppatori possano …
Il principio della responsabilità singola è definito su Wikipedia come Il principio di responsabilità singola è un principio di programmazione informatica che afferma che ogni modulo, classe o funzione dovrebbe avere la responsabilità su una singola parte della funzionalità fornita dal software e che la responsabilità dovrebbe essere interamente incapsulata …
Sembra che Java abbia avuto il potere di dichiarare le classi non derivabili per secoli, e ora anche C ++. Tuttavia, alla luce del principio Open / Close in SOLID, perché sarebbe utile? Per me, la finalparola chiave suona proprio come friend- è legale, ma se la stai usando, molto …
La maggior parte dei progetti su cui lavoro considera lo sviluppo e le unit testing in isolamento, il che rende la scrittura di unit test in un secondo momento un incubo. Il mio obiettivo è tenere a mente i test durante le fasi di progettazione di alto livello e basso …
Qual è lo scopo dei contenitori IOC? Le ragioni combinate di ciò possono essere semplificate come segue: Quando si utilizzano i principi di sviluppo OOP / SOLID, l'iniezione di dipendenza diventa disordinata. O hai i punti di ingresso di livello superiore che gestiscono le dipendenze per più livelli sottostanti e …
Negli ultimi anni, stiamo lentamente passando al codice scritto progressivamente migliore, alcuni piccoli passi alla volta. Stiamo finalmente iniziando a passare a qualcosa che almeno assomiglia a SOLID, ma non siamo ancora del tutto lì. Da quando è stato effettuato il passaggio, una delle maggiori lamentele da parte degli sviluppatori …
Sto cercando di capire i principi SOLID di OOP e sono giunto alla conclusione che LSP e OCP hanno alcune somiglianze (se non per dire altro). il principio aperto / chiuso afferma che "le entità software (classi, moduli, funzioni, ecc.) dovrebbero essere aperte per l'estensione, ma chiuse per modifica". LSP …
Ai miei colleghi piace dire "logging / caching / etc. È una preoccupazione trasversale" e quindi procedere usando il singleton corrispondente ovunque. Tuttavia amano IoC e DI. È davvero una scusa valida per violare il principio SOLI D ?
Attualmente sto cercando di capire SOLID. Quindi il principio di inversione di dipendenza significa che due classi dovrebbero comunicare tramite interfacce, non direttamente. Esempio: se class Aha un metodo, che prevede un puntatore a un oggetto di tipo class B, allora questo metodo dovrebbe effettivamente aspettarsi un oggetto di tipo …
Quando i principi SOLIDI diventano YAGNI? Come programmatori facciamo continuamente dei compromessi, tra complessità, manutenibilità, tempo di costruzione e così via. Tra gli altri, due delle linee guida più intelligenti per fare le scelte sono nella mia mente i principi SOLID e YAGNI. Se non ne hai bisogno; non costruirlo …
Nel tempo ho capito due parti di SOLID : la "S" e la "O". "O" - Ho imparato Open Closed Principle con l'aiuto di Ereditarietà e modello strategico. "S": ho appreso il principio della responsabilità singola durante l'apprendimento dell'ORM (la logica di persistenza è tolta dagli oggetti del dominio). In …
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.