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

来源:互联网 发布:边境杀手解析知乎 编辑:程序博客网 时间:2024/06/10 21:54

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

 

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

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

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

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

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

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

方式如下:

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

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

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

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

原创粉丝点击