Uno dei principi OOP che ho incontrato è: -Incapsulare ciò che varia. Capisco qual è il significato letterale della frase, cioè nascondere ciò che varia. Tuttavia, non so come contribuirebbe esattamente a un design migliore. Qualcuno può spiegarlo usando un buon esempio?
È buona norma sostituire le costanti utilizzate al di fuori delle classi dai getter? Ad esempio, è meglio usare if User.getRole().getCode() == Role.CODE_ADMINo if User.getRole().isCodeAdmin()? Ciò porterebbe a questa classe: class Role { constant CODE_ADMIN = "admin" constant CODE_USER = "user" private code getRoleCode() { return Role.code } isCodeAdmin () …
Mi capita spesso di trovarmi in una situazione in cui ho bisogno di un comportamento diverso di un componente che dipende dal tipo concreto di un'interfaccia diversa. Per illustrare la mia domanda, ho scritto un piccolo codice che mostrerà cosa intendo. In questo esempio sto cercando di creare un'istanza di …
Ho una lezione con due readonly intcampi. Sono esposti come proprietà: public class Thing { private readonly int _foo, _bar; /// <summary> I AM IMMUTABLE. </summary> public Thing(int foo, int bar) { _foo = foo; _bar = bar; } public int Foo { get { return _foo; } set { …
Sto creando un modello a oggetti per un dispositivo con più canali. I nomi usati tra il cliente e io sono Channele ChannelSet. ("Set" non è semanticamente accurato, perché è ordinato e non è un set corretto. Ma questo è un problema per un altro tempo.) Sto usando C #. …
Quello che segue è lo pseudo codice, l'ho provato in Java e PHP ed entrambi hanno funzionato: class Test { private int a = 5; public static function do_test(){ var t = new Test(); t.a = 1; print t.a // 1 } } Test::do_test(); Perché puoi farlo nel paradigma OOP …
Chiuso . Questa domanda deve essere più focalizzata . Al momento non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che si concentri su un problema solo modificando questo post . Chiuso 5 anni fa . Qualche tempo fa, ho posto una domanda su SO su qualcosa …
La mia domanda è in relazione con System.ine System.outclassi (potrebbero essercene altre simili a quelle della libreria Standard). Perché? Non è una cattiva pratica in OOP? Non dovrebbe essere usato come: System.getIn()e System.getOut()? Ho sempre avuto questa domanda e spero di poter trovare una buona risposta qui.
Chiuso . Questa domanda deve essere più focalizzata . Al momento non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che si concentri su un problema solo modificando questo post . Chiuso 4 anni fa . Bloccato . Questa domanda e le sue risposte sono bloccate perché …
Ho un'interfaccia che ha una certa quantità di funzionalità ben definite. Diciamo: interface BakeryInterface { public function createCookies(); public function createIceCream(); } Questo funziona bene per la maggior parte delle implementazioni dell'interfaccia, ma in alcuni casi, ho bisogno di aggiungere alcune nuove funzionalità (come forse inserito in un nuovo metodo …
Come ho spiegato, il principio di apertura / chiusura afferma che una volta scritto il codice non dovrebbe essere modificato (a parte le correzioni di bug). Ma se le mie regole aziendali cambiano, non dovrei modificare il codice che implementa tali cambiamenti? Sospetto di non capire qualcosa su come il …
Ho una classe chiamata Headingche fa alcune cose, ma dovrebbe anche essere in grado di restituire l'opposto dell'attuale valore dell'intestazione, che alla fine deve essere usato creando una nuova istanza della Headingclasse stessa. Posso avere una proprietà semplice chiamata reciprocalper restituire l'intestazione opposta del valore corrente e quindi creare manualmente …
Ho un grande oggetto: class BigObject{ public int Id {get;set;} public string FieldA {get;set;} // ... public string FieldZ {get;set;} } e un oggetto specializzato, simile a DTO: class SmallObject{ public int Id {get;set;} public EnumType Type {get;set;} public string FieldC {get;set;} public string FieldN {get;set;} } Personalmente trovo un …
Ho lottato con un problema in un progetto Java sui riferimenti circolari. Sto cercando di modellare una situazione del mondo reale in cui sembra che gli oggetti in questione siano interdipendenti e debbano conoscersi. Il progetto è un modello generico di gioco da tavolo. Le classi di base non sono …
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.