設計模式(七)——邁向新的設計方式

設計模式(七)——邁向新的設計方式

 

之前提到了使用Alexander提到的方式去思考,去構件一個系統。這種先找出各個模式的方式有時候並不適用,因爲在一些情況下,你很難找出某些隱含在系統之中的模式。

從OO的原則中,我們可以悟出一些東西。

“開閉原則”,需要我們對於修改封閉對擴展開放。

“依賴倒置原則”,要求我們總是依賴於抽象而不應該依賴於具體類,因爲具體類總是有變化的可能。

上面這2個原則,都涉及到了變化和不變這兩個概念。在系統中,變化是難免的,但我們需要尋找出一種以不變應萬變的方式,來構造一個靈活性高的系統。於是,提出了一種新的分析系統的方式——共性與可變性分析。

這種方法並不提倡一開始就找出各個實體間的關係,而是先弄清系統中有哪些東西,再去嘗試找到他們之間的關係。

方式如下:

首先,使用CVA找到問題域中存在的各種概念(共性)和具體的實現(可變性)。

其次,在所需功能的概念都找到後,繼續爲封裝這些概念的抽象定製接口。

然後考慮具體的實現將如何使用來實現相應的抽象。

當一個問題中有大量的變化時,可以使用分析矩陣,輔助自己進行共性、可變性的分析。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章