设计模式(七)——迈向新的设计方式

设计模式(七)——迈向新的设计方式

 

之前提到了使用Alexander提到的方式去思考,去构件一个系统。这种先找出各个模式的方式有时候并不适用,因为在一些情况下,你很难找出某些隐含在系统之中的模式。

从OO的原则中,我们可以悟出一些东西。

“开闭原则”,需要我们对于修改封闭对扩展开放。

“依赖倒置原则”,要求我们总是依赖于抽象而不应该依赖于具体类,因为具体类总是有变化的可能。

上面这2个原则,都涉及到了变化和不变这两个概念。在系统中,变化是难免的,但我们需要寻找出一种以不变应万变的方式,来构造一个灵活性高的系统。于是,提出了一种新的分析系统的方式——共性与可变性分析。

这种方法并不提倡一开始就找出各个实体间的关系,而是先弄清系统中有哪些东西,再去尝试找到他们之间的关系。

方式如下:

首先,使用CVA找到问题域中存在的各种概念(共性)和具体的实现(可变性)。

其次,在所需功能的概念都找到后,继续为封装这些概念的抽象定制接口。

然后考虑具体的实现将如何使用来实现相应的抽象。

当一个问题中有大量的变化时,可以使用分析矩阵,辅助自己进行共性、可变性的分析。

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