Esempio di esempio di facciata per principianti

3

Mi sono imbattuto in questo articolo: link

Alla fine, ha una domanda che chiede:

One common problem experienced by software development teams who use the Façade Pattern occurs when the Façade class is used to represent the entire system on which the team is working. A team of 20-30 people sends every method call to the system through the Façade, with each team member making several changes to the system per day.

Because of the heavy dependency on the Façade class, however, the team’s schedule is frequently delayed because the Façade class is often locked by a particular developer for quite some time.

Discuss how this problem might be overcome without sacrificing the use of the Façade Pattern.

Qualcuno può spiegarmi come potremmo essere in grado di risolvere questo problema mentre si utilizza ancora il Pattern di facciata? Una risposta chiara non mi viene direttamente in mente.

    
posta dhint4 29.03.2015 - 18:59
fonte

1 risposta

12

Se progetti un sistema in cui 20-30 persone devono modificare la stessa classe della tua base di codice ogni giorno, direi che avresti un grosso problema organizzativo e un bel problema problema architettonico con il tuo sistema. Se una tale classe è una facciata o qualcos'altro è irrilevante.

Per risolvere questi problemi, inizierei con la suddivisione dei team in una dimensione più piccola, con al massimo da 5 a 6 sviluppatori per team, e ciascun team è responsabile solo per una parte della base di codici. Assumendo che ogni team gestisca alcuni componenti, con interfacce ben definite tra i componenti, la tua "facciata" sarà in uno di questi componenti, quindi hai ridotto il numero di persone che possono avere un conflitto a 5-6.

Se quelle 5 a 6 persone devono ancora modificare quella classe ogni giorno, allora c'è ancora qualcosa di sbagliato nelle responsabilità di quella classe. È probabilmente una classe di Dio , un noto modello anti, e la soluzione per affrontarlo è esattamente ciò che Robert Harvey ha scritto nei commenti: dividi la classe in più piccoli.

Si noti che il solo utilizzo di una classe da parte di molte persone non lo blocca, che è piuttosto assurdo (anche se si usa un sistema di controllo versione da "le età buie" come PVCS). La modifica simultanea di una classe da parte di due persone può portare a un conflitto, che può essere risolto con l'aiuto di qualsiasi sistema di controllo della versione decente.

    
risposta data 29.03.2015 - 19:36
fonte

Leggi altre domande sui tag