La progettazione orientata agli oggetti è il processo di pianificazione di un sistema di oggetti interagenti allo scopo di risolvere un problema software.
Comprendo l'intento del principio aperto-chiuso. Ha lo scopo di ridurre il rischio di rompere qualcosa che già funziona durante la modifica, dicendoti di provare a estenderlo senza modificarlo. Tuttavia, ho avuto qualche difficoltà a capire come questo principio viene applicato nella pratica. Per quanto ne so, ci sono due modi …
Chiuso . Questa domanda è basata sull'opinione . Al momento non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che possa essere risolta con fatti e citazioni modificando questo post . Chiuso 4 anni fa . Recentemente ho partecipato a parecchie interviste e mi è stato chiesto …
Ad esempio, è meglio fare: Pdf pdf = new Pdf(); pdf.Print(); o: Pdf pdf = new Pdf(); PdfPrinter printer = new PdfPrinter(); printer.Print(pdf); Un altro esempio: Country m = new Country("Mexico"); double ratio = m.GetDebtToGDPRatio(); o: Country m = new Country("Mexico"); Country us = new Country("US"); DebtStatistics ds = new …
Esiste una classe LinkedList con funzioni come add_first (), add_last (), add_after (), remove_first (), remove_last () e remove () Ora esiste una classe Stack che fornisce funzionalità come push (), pop (), peek () o top () e per implementare questi metodi estende i metodi della classe LinkedList. È …
Ho appena iniziato a esplorare SOLID e non sono sicuro che la lettura da file e la scrittura su file siano la stessa responsabilità. La destinazione è lo stesso tipo di file; Voglio leggere e scrivere .pdf nella mia applicazione. L'applicazione è in Python se questo fa la differenza.
Nelle risposte a questa domanda, il consenso generale era che i metodi statici non sono pensati per essere sovrascritti (e quindi le funzioni statiche in C # non possono essere virtuali o astratte). Questo non è solo il caso in C #, comunque; Anche Java lo proibisce e neanche C …
Quando ho imparato il C ++ molto tempo fa, mi è stato fortemente enfatizzato che parte del punto del C ++ è che, proprio come i loop hanno "loop-invarianti", anche le classi hanno invarianti associati alla vita dell'oggetto - cose che dovrebbero essere vere per tutto il tempo in cui …
Sto lavorando al re-factoring di alcuni aspetti di un servizio web esistente. Il modo in cui vengono implementate le API di servizio è avere una sorta di "pipeline di elaborazione", in cui vi sono attività che vengono eseguite in sequenza. Non sorprende che le attività successive possano richiedere informazioni calcolate …
Quando si modella un oggetto con figli è comune includere i figli tramite composizione, come membro della classe genitore. A volte, tuttavia, i bambini devono dire qualcosa al genitore, devono chiamare una funzione del genitore. Come si può ottenere ciò usando C ++? Alcune opzioni sono: Rendi globale la classe …
In Domain Driven Design, il livello di dominio può avere diversi servizi (tradizionali). Ad esempio, per il dominio Utente, potremmo avere: Una UserFactory, che crea oggetti utente in diversi modi Un archivio utenti, che è responsabile dell'interazione con i servizi di persistenza nel livello dell'infrastruttura Un UserService nel livello di …
Ad esempio, supponiamo di scrivere un'app in Java . L'app comunica con un server API scritto in Python . Il server Python comunica con un database SQL . Hai anche un sito Web per la tua app scritto in JavaScript . Con 4 lingue diverse, è facile finire per ripetere …
Prima una dichiarazione di non responsabilità: non so davvero se questa domanda si adatta a questo sito Web, ma trovo ancora una domanda rilevante non solo per me ma per le altre persone che sono principianti. Se la domanda può essere migliorata per adattarsi qui, si prega di sottolineare i …
Nota: l'esempio di codice è scritto in c #, ma non dovrebbe importare. Ho messo c # come tag perché non riesco a trovarne uno più appropriato. Riguarda la struttura del codice. Sto leggendo Clean Code e sto cercando di diventare un programmatore migliore. Mi trovo spesso a lottare per …
Stavo cercando di capire la differenza tra Open Closed Principle (OCP) e Dependency Inversion Princible (DIP). Sulla base delle ricerche fatte finora su Internet, sono giunto alla conclusione che "DIP è un'opzione attraverso la quale possiamo ottenere OCP". Ho ragione su questo? Potete darmi un esempio che non segue DIP …
Non riesco a trovare una soluzione migliore al mio problema. Ho un controller di visualizzazione che presenta un elenco di elementi. Tali elementi sono modelli che possono essere un'istanza di B, C, D, ecc. Ed ereditati da A. Quindi, in quel controller di visualizzazione, ogni elemento dovrebbe passare a una …
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.