Breve formato della domanda È nelle migliori pratiche di DDD e OOP iniettare servizi nelle chiamate al metodo dell'entità? Esempio di formato lungo Supponiamo di avere il classico caso Order-LineItems in DDD, in cui abbiamo un'entità dominio denominata un ordine, che funge anche da radice aggregata e che l'entità è …
Ho visto Pycon di Raymond Hettinger parlare di "Super Considered Super" e ho imparato un po 'dell'MRO (Method Resolution Order) di Python che linearizza le classi "parent" in modo deterministico. Possiamo usarlo a nostro vantaggio, come nel codice seguente, per fare l'iniezione di dipendenza. Quindi ora, naturalmente, voglio usare superper …
Nella definizione di orientamento agli oggetti di Alan Kays esiste questa definizione che in parte non capisco: OOP per me significa solo messaggistica, conservazione locale, protezione e occultamento del processo statale ed estremo LateBinding di tutte le cose. Ma cosa significa "LateBinding"? Come posso applicarlo su una lingua come C …
Semplicemente quali sono le tecniche pratiche che le persone usano per verificare se una classe viola il singolo principio di responsabilità? So che una classe dovrebbe avere solo una ragione per cambiare, ma a quella frase manca un modo pratico per implementarla davvero. L'unico modo che ho trovato è usare …
In primo luogo, sono consapevole che questa domanda si collega all'argomento dello sviluppo del gioco, ma ho deciso di porlo qui poiché si tratta in realtà di un problema di ingegneria del software più generale. Durante il mese scorso, ho letto molto su Entity-Component-Systems e ora sono abbastanza a mio …
Scrivere un oggetto utente in Swift, sebbene la mia domanda riguardi qualsiasi linguaggio fortemente tipizzato. Un utente può avere un sacco di collegamenti (FacebookProfile, InstagramProfile, ecc.). Qualche domanda in merito. È buona norma avvolgere i collegamenti nel proprio oggetto? utente strutt { var firstName: string var lastName: string var email: …
Quindi, probabilmente come molti, mi trovo spesso ad avere mal di testa con problemi di progettazione in cui, ad esempio, esiste un modello / approccio di progettazione che sembra adattarsi intuitivamente al problema e ha i benefici desiderati. Molto spesso c'è qualche avvertimento che rende difficile implementare il modello / …
Ad esempio, una classe di solito ha membri e metodi di classe, ad esempio: public class Cat{ private String name; private int weight; private Image image; public void printInfo(){ System.out.println("Name:"+this.name+",weight:"+this.weight); } public void draw(){ //some draw code which uses this.image } } Ma dopo aver letto del principio della responsabilità …
Poiché il principio di segregazione dell'interfaccia suggerisce che nessun client dovrebbe essere costretto a dipendere da metodi che non utilizza, quindi un client non dovrebbe implementare un metodo vuoto per i suoi metodi di interfaccia, altrimenti questo metodo di interfaccia dovrebbe essere inserito in un'altra interfaccia. E i metodi concreti? …
Ogni volta che mi veniva richiesto di costruire un progetto, riuscivo sempre a costruirlo, non prima di escogitare un piano o un progetto, ma dopo aver scritto una classe che era necessaria, completando l'intero progetto, costruendo dal basso verso l'alto. Ora so che questo non è il modo corretto di …
Sono nuovo nella programmazione orientata agli oggetti e non capisco quale sia lo scopo principale. Sì, ho letto che è il "punto di ingresso" del programma, ma quello che non capisco è quello che dovrebbe essere nel principale? E quali sono le sue responsabilità? Può succedere che qualcosa di scritto …
Immagina una situazione in cui stiamo utilizzando una libreria che ti consente di creare Circleoggetti, in cui puoi specificare il raggio e il centro del cerchio per definirlo. Tuttavia, per qualche motivo, accetta anche un flavourparametro richiesto . Ora diciamo che ho davvero bisogno di usare la Circlemia app, ma …
sfondo Ho un progetto che dipende dall'uso di un certo tipo di dispositivo hardware, mentre non importa chi produce quel dispositivo hardware fintanto che fa ciò di cui ho bisogno. Detto questo, anche due dispositivi che dovrebbero fare la stessa cosa avranno delle differenze quando non sono realizzati dallo stesso …
Ho due classi di base Operatione Trigger. Ognuno ha un numero di sottoclassi specializzate in determinati tipi di operazioni o trigger. A Triggerpuò attivare uno specifico Operation. Mentre un Operationpuò essere attivato da uno specifico Trigger. Devo scrivere il codice che mappa un dato Operationa un dato Trigger(o viceversa), ma …
Dato che Python consente l'ereditarietà multipla, che aspetto ha l'ereditarietà idiomatica in Python? In linguaggi con ereditarietà singola, come Java, l'ereditarietà verrebbe utilizzata quando si potrebbe dire che un oggetto "è-a" di un altro oggetto e si desidera condividere il codice tra gli oggetti (dall'oggetto padre all'oggetto figlio). Ad esempio, …
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.