Domanda

Non si tenta di mantenere il Distanza dalla sequenza principale basso per ogni assemblea? Che dire di assemblee che contiene solo Business Objects definizioni? E 'possibile tenerli lontani da Zone of Pain ? Tipi in tali assemblee sono di solito utilizzati da altre assemblee e sono piuttosto concreta. Come gestire tale situazione?

È stato utile?

Soluzione

Credo che l'obiettivo di {mantenere la "distanza dalla sequenza principale" basso} è basata su href="http://en.wikipedia.org/wiki/Law_of_Demeter" di Demetra . A seguito di questa regola contribuisce a rendere il codice più facile da capire e facile da test di unità. Utilizzando Business Objects che sono meri contenitori di dati, si sta esponendo più stato che può essere norme necessarie e rottura di incapsulamento.

Tuttavia, come Fowler sottolinea in questo articolo , "Mentre catene metodo sono un odore, il problema opposto di uomini di mezza oggetti gonfio di metodi di inoltro è anche un odore. (ho sempre pensato che sarei più a suo agio con la legge di Demetra se fosse chiamato il suggerimento di Demetra.) "

Credo che il valore di tali Business Objects di base può essere utile se si desidera solo passare intorno "che cosa" l'oggetto contiene, come ad esempio il modo in cui sono utilizzati come trasferimento dati oggetti. Tuttavia, è probabilmente importante distiguish tuoi veri Business Objects dalle vostre vuote trasferimento dati oggetti. Vorrei assumere reali Business Objects dovrebbe contenere anche il comportamento con i dati che incapsulano.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top