Attualmente sto organizzando un talk in cui discuto il valore dei test unitari nell'applicazione del principio SOLID Open / Closed.
Comunque oltre l'ovvio "il bug non c'era quando l'ho scritto, è stato introdotto" Sto cercando uno studio defi...
Quando si applica la separazione delle interfacce, si dovrebbero avere interfacce separate per setter e interfacce semplici che eseguono un'operazione prima dell'impostazione? Ad esempio, supponi di avere una classe:
class FooClass:
publi...
Mi sono imbattuto in un'architettura per un'applicazione .net in cui ci sono 3 livelli
Repository layer (edmx and their classes)
^
|
V
Domain layer (Model -> Interfaces and their implementation)
^
|
V
Web...
Cos'è più importante? SOLIDO o BACIO?
Per essere coerente con SOLID, dovrei inserire le classi Decorator e Footer e creare interfacce per loro.
public class HelloService {
String name;
HelloService(String name){
this.name = name...
Ho letto i principi SOLID la settimana scorsa e ho deciso di provare a risolvere il problema del mondo reale usandoli. Quindi ho ottenuto il problema dei totali di gestione del sito di e-commerce del mondo reale.
Dichiarazione del problema:...
Diciamo che abbiamo questa classe base:
class MyBase
{
public string Name { get; set; }
public string GetDescription()
{
var descriptionList = new List<string>() { this.Name };
descriptionList.AddRange(this.E...
La maggior parte di noi conosce SOLID e nel corso degli anni ha capito quanto può essere utile quando dobbiamo cambiare.
Basato su S & I parti di SOLID e dall'esperienza che ho usato per progettare i miei servizi RESTful HTTP a gr...
Ho visto molti consigli che è meglio fare Type object; di
Type* object = new Type();
in C ++ quando possibile-cioè, riduci al minimo l'utilizzo di new . Capisco il razionale dietro questo e lo apprezzo.
Ma secondo la mia compr...
Credo che in Python defaultdict ereditato da dict violi il Principio di sostituzione di Liskov. defaultdict non aumenta KeyError mentre x in d è ancora False , per esempio.
È così? Se è così, perché lo sviluppato...
La responsabilità unica (da SOLID) è come farmi creare classi con un solo metodo pubblico. Ma se è così, sarebbe possibile usare metodi statici e tornare alla programmazione procedurale. Qual è la differenza?