Domande con tag 'object-oriented-design'

12
risposte

Perché Square ereditando da Rectangle può essere problematico se si sostituiscono i metodi SetWidth e SetHeight?

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: If you made Square derive from Rectangle, then a Square should be usable anywh...
posta 07.05.2014 - 07:21
17
risposte

È meglio restituire valori NULL o vuoti da funzioni / metodi in cui il valore restituito non è presente?

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 Re...
posta 17.11.2011 - 19:34
10
risposte

Si tratta di una violazione del principio di sostituzione di Liskov?

Supponiamo di avere un elenco di entità Task e un sottotipo ProjectTask . Le attività possono essere chiuse in qualsiasi momento, eccetto ProjectTasks che non può essere chiuso una volta che hanno lo stato di Iniziato. L'interfaccia ute...
posta 16.10.2012 - 22:36
14
risposte

La Gang of Four ha esplorato a fondo "Pattern Space"?

Da quando ho appreso per la prima volta dei modelli di design Gang of Four (GoF) , almeno 10 anni fa, I Ho l'impressione che questi 23 modelli debbano essere solo un piccolo campione di qualcosa di molto più grande che mi piace chiamare Spazio...
posta 12.11.2016 - 16:31
9
risposte

Perché dovrei usare l'iniezione di dipendenza?

Sto avendo difficoltà a cercare risorse sul perché dovrei usare iniezione di dipendenza . La maggior parte delle risorse che vedo spiega che passa semplicemente un'istanza di un oggetto a un'altra istanza di un oggetto, ma perché? È solo per l'...
posta 13.11.2018 - 09:04
6
risposte

Che cosa è veramente la "logica del business"?

Sto lavorando con lo sviluppo web dal 2009, quando ho iniziato con PHP. Quando mi sono trasferito in ASP.NET ho sentito molto su DDD e OOAD, dove viene data molta attenzione a questa "logica aziendale" e alle "regole aziendali". Il punto è che t...
posta 31.03.2014 - 01:34
11
risposte

Perché la base per tutti gli oggetti scoraggiati in C ++

Stroustrup dice "Non inventare immediatamente una base univoca per tutte le tue classi (una classe Object). In genere, puoi fare meglio senza di essa per molte / molte classi." (La quarta edizione del linguaggio di programmazione C ++, sezione 1...
posta 15.02.2015 - 17:45
4
risposte

Modelli di dominio ricco: come si adatta esattamente il comportamento?

Nel dibattito sui modelli di dominio Rich vs. Anemic, Internet è pieno di consigli filosofici ma di esempi autorevoli. L'obiettivo di questa domanda è quello di trovare linee guida definitive ed esempi concreti di opportuni modelli di progettazi...
posta 06.10.2013 - 20:49
10
risposte

Il mio design proposto è in genere peggiore di quello del mio collega - come faccio a migliorare? [chiuso]

Ho programmato per un paio di anni e sono generalmente bravo quando si tratta di risolvere problemi e creare script di piccole e medie dimensioni, tuttavia, in genere non sono bravo a progettare programmi su larga scala in modo orientato agli og...
posta 15.10.2012 - 20:48
10
risposte

Cosa si intende per "Un utente non dovrebbe decidere se è un amministratore o meno. Il sistema di privilegi o di sicurezza dovrebbe. "

L'esempio usato nella domanda passare i dati minimi nudi a una funzione tocca il modo migliore per determinare se l'utente è un amministratore o meno. Una risposta comune è stata: user.isAdmin() Questo ha richiesto un commento che è stato...
posta 04.11.2013 - 13:16