Esempio n. 1: ho una vista visualizzata nella mia applicazione MVVM (usiamo Silverlight ai fini della discussione) e faccio clic su un pulsante che dovrebbe portarmi in una nuova pagina. Esempio n. 2: quella stessa vista ha un altro pulsante che, quando si fa clic, dovrebbe aprire una vista dei …
Attualmente sto lavorando su un sistema in cui sono presenti Utenti e ogni utente ha uno o più ruoli. È buona norma utilizzare l'elenco dei valori Enum sull'utente? Non riesco a pensare a niente di meglio, ma questo non mi fa sentire bene. enum Role{ Admin = 1, User = …
Ho fatto la programmazione web da molto tempo ormai, e da qualche parte, ho perso la traccia del perché stiamo facendo quello che stiamo facendo oggi (o come siamo arrivati a fare le cose in questo modo)? Ho iniziato con lo sviluppo web ASP di base e molto presto, la …
Nella programmazione di ciò che viene chiamato Principio di minimo stupore? In che modo questo concetto è legato alla progettazione di buone API? È qualcosa applicabile solo alla programmazione orientata agli oggetti o permea anche altre tecniche di programmazione? È legato al principio di "fare una sola cosa nel tuo …
Un mio amico sta lavorando per una piccola azienda su un progetto che ogni sviluppatore odierebbe: è costretto a rilasciare il più rapidamente possibile, è l'unico a cui sembra interessare il debito tecnico, il cliente non ha esperienza tecnica, ecc. Mi ha raccontato una storia che mi ha fatto riflettere …
Sto prendendo una classe di progettazione software in cui dovrei scegliere un software open source da analizzare dal punto di vista della progettazione software. Deve essere un grande progetto: non meno di 100.000 righe di codice. Vorrei davvero scegliere un software molto ben progettato e progettato per avere buone conoscenze …
Ho sempre riconosciuto l'importanza di utilizzare modelli di progettazione. Sono curioso di sapere come gli altri sviluppatori scelgono quello più appropriato. Usi una serie di caratteristiche (come un diagramma di flusso) per aiutarti a decidere? Per esempio: Se gli oggetti sono correlati, ma non vogliamo specificare una classe concreta, si …
Dai modelli di design "Gang of Four", c'è il metodo Factory: class Factory(product) case product when a new A when b new B when c new C end new Factory(a) Perché questo è più utile che avere tre classi, a, b, e ce chiamandoli singolarmente?
Il modello "Costruttore" è limitato all'anti-modello del "costruttore telescopico" o si può dire che affronti anche il problema più generale della creazione complicata di oggetti immutabili? La StringBuilderclasse ha la parola "costruttore" nel suo nome, ma non ha nulla a che fare con i costruttori telescopici, ci aiuta semplicemente a …
Ho visto molte implementazioni del modello Builder (principalmente in Java). Tutti hanno una classe di entità (diciamo una Personclasse) e una classe builder PersonBuilder. Il builder "impila" una varietà di campi e restituisce a new Personcon gli argomenti passati. Perché abbiamo esplicitamente bisogno di una classe builder, invece di mettere …
Che è una pratica generalmente accettata tra questi due casi: function insertIntoDatabase(Account account, Otherthing thing) { database.insertMethod(account.getId(), thing.getId(), thing.getSomeValue()); } o function insertIntoDatabase(long accountId, long thingId, double someValue) { database.insertMethod(accountId, thingId, someValue); } In altre parole, in genere è meglio passare interi oggetti o solo i campi necessari?
Ho un pezzo di codice in cui eseguo l'iterazione di una mappa fino a quando una determinata condizione è vera e successivamente utilizzo quella condizione per fare altre cose. Esempio: Map<BigInteger, List<String>> map = handler.getMap(); if(map != null && !map.isEmpty()) { for (Map.Entry<BigInteger, List<String>> entry : map.entrySet()) { fillUpList(); if(list.size() …
Ho letto una domanda correlata Esistono schemi di progettazione non necessari in linguaggi dinamici come Python? e ricordato questa citazione su Wikiquote.org La cosa meravigliosa della digitazione dinamica è che ti consente di esprimere tutto ciò che è calcolabile. E i sistemi di tipo no: i sistemi di tipo sono …
Sono curioso di sapere quali sono gli svantaggi dell'utilizzo del modello ActiveRecord per l'accesso ai dati / oggetti business. L'unico che mi viene in mente dalla parte superiore della mia testa è che viola il principio di responsabilità singola, ma il modello AR è abbastanza comune che questo motivo da …
Io e il mio collega abbiamo opinioni diverse sulla relazione tra classi di base e interfacce. Sono convinto che una classe non dovrebbe implementare un'interfaccia a meno che quella classe non possa essere utilizzata quando è richiesta un'implementazione dell'interfaccia. In altre parole, mi piace vedere il codice in questo modo: …
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.