2012-01-24 6 views
5

Ho appena guardato la presentazione dello zio Bob su Software di architettura:Schema ECB: cos'è veramente un limite?

http://www.cleancoders.com/codecast/clean-code-episode-7/show

Parla di modello BCE (Entità - Controllori - Boundaries)

Egli insiste sul fatto che tutti i software devono essere primario sebbene come un insieme di casi d'uso.

In effetti, ripete molte volte che le decisioni relative a strumenti, strutture ecc. Devono essere rimandate.

Sono stato incuriosito dal termine "confini", così ho trovato questa spiegazione:

http://process.osellus.com/sites/wiki/OpenUP%20DSDM/Wiki%20Pages/Guidance%20-%20Entity-Control-Boundary%20Pattern.aspx

Qui vediamo che i confini sono rilevanti per ciascuna procedura di pubblicazione come un modulo per il meccanismo web (MarketingCampaignForm) ecc ...

quindi la mia domanda è:

Non boudaries devono sapere tipo di meccanismo di consegna che saranno utilizzati e così contraddittorie con il punto di vista dello zio Bob?

Oppure devono essere semplici POJO che rappresentano una semplice infrastruttura che sarà condivisa tra sistema interno e meccanismo di consegna; e contenente l'input da parte dell'utente e l'output dai controller nel sistema interno?

+1

Perché è stato downvoted? : | –

risposta

3

Un po 'allungato forse (i puristi mi odieranno), ma si può pensare ad un confine come concettualmente simile alla vista in MVC, anche se è un concetto più generale: se il sistema espone un'API REST, per Ad esempio, questo non può davvero essere chiamato una vista (né stai implementando MVC, fwiw) ma è, più in generale, un'interfaccia del tuo sistema verso il mondo esterno.

In altre parole, un confine è la parte del sistema che interagisce con l'uso di casi attori, cioè gli esseri umani o sistemi di fuori del vostro sistema.

Da Eclipse EPF:

Un confine elemento si trova sul periferia di un sistema o sottosistema, ma all'interno di esso. Per qualsiasi scenario preso in considerazione sull'intero sistema o all'interno di qualche sottosistema, alcuni elementi di contorno saranno elementi "front end" che accettano input dall'esterno dell'area sotto design, e altri elementi saranno "back end", gestione comunicazione a elementi di supporto all'esterno del del sistema o sottosistema.

+0

Significa che gli elementi di confine dovrebbero essere interfacce? –

+1

Non necessariamente. Gli elementi di confine possono anche essere classi astratte o anche semplici classi java. –

+0

Scusate se vi disturbo, ma ci sono quasi zero domande e risposte in BCE e poiché sembra che abbiate lavorato con questo modello, apprezzerei molto la vostra opinione su [questa domanda] (http://stackoverflow.com/q/26656302/1.654.265). –