Frank Buschmann

Applying Patterns
 

上一頁 下一頁


One Pattern at a Time(一次一個樣式)

Context:我們正在建立一個架構願景或正在逐步細緻化一個給定的軟體架構的細節。為了解決一個特定的設計問題,我們選擇了多個樣式。

Problem:

我們一次該使用多少個樣式,來解決手上的設計問題?有兩個壓力:

  1. 設計的結果應該反映出我們所使用之樣式的本質。

  2. 我們一次所使用的樣式愈多,則要考慮的相關實作、結合及整合的最佳化構面就愈多。而且,一次考慮這麼多這類的構面,很可能會使得我們的注意力從應該解決的原始問題上偏離。

Solution:

實施一次一個樣式:先從解決問題最重要構面的樣式開始,接著是解決問題次重要構面的樣式。並對每一個應用的樣式施行先整合再實作

我們一步一步地發展問題的解決方案。藉由應用一次一個樣式的方式,最後所得到的設計結果,將最能反映我們所使用樣式的本質。我們可以更方便地遵循它們的實作指導原則,尚未被應用到的樣式則不需要去考慮。所有樣式實際的實作,共同朔造了一個連貫一致 ,且可以有效的解決手邊設計問題的結構。

Example:

當實作 Command Processor 樣式[BMRSS96] 時,有許多其他樣式可以幫助我們實作它的細節,如 Command 及 Composite 樣式[GHJV95]。無論如何;我們不應該同時應用兩個樣式。首先,我們先應用 Command 樣式把使用端的請求封裝成物件,接著再應用 Composite 樣式以支援巨集指令集。


上一頁 下一頁