设计模式(七)——迈向新的设计方式
来源:互联网 发布:边境杀手解析知乎 编辑:程序博客网 时间:2024/06/10 21:54
设计模式(七)——迈向新的设计方式
之前提到了使用Alexander提到的方式去思考,去构件一个系统。这种先找出各个模式的方式有时候并不适用,因为在一些情况下,你很难找出某些隐含在系统之中的模式。
从OO的原则中,我们可以悟出一些东西。
“开闭原则”,需要我们对于修改封闭对扩展开放。
“依赖倒置原则”,要求我们总是依赖于抽象而不应该依赖于具体类,因为具体类总是有变化的可能。
上面这2个原则,都涉及到了变化和不变这两个概念。在系统中,变化是难免的,但我们需要寻找出一种以不变应万变的方式,来构造一个灵活性高的系统。于是,提出了一种新的分析系统的方式——共性与可变性分析。
这种方法并不提倡一开始就找出各个实体间的关系,而是先弄清系统中有哪些东西,再去尝试找到他们之间的关系。
方式如下:
首先,使用CVA找到问题域中存在的各种概念(共性)和具体的实现(可变性)。
其次,在所需功能的概念都找到后,继续为封装这些概念的抽象定制接口。
然后考虑具体的实现将如何使用来实现相应的抽象。
当一个问题中有大量的变化时,可以使用分析矩阵,辅助自己进行共性、可变性的分析。
- 设计模式(七)——迈向新的设计方式
- 设计模式—模板模式(七)
- 常用的设计模式(七)——门面设计模式
- 从优秀迈向卓越 -- 我的设计模式学习感悟
- 从优秀迈向卓越 -- 我的设计模式学习感悟
- 设计模式(七)
- 设计模式笔记(七) —— 原型模式
- 大话设计模式学习(七)——原型模式
- 设计模式系列(七)——命令模式
- 设计模式(七)——装饰模式
- 设计模式(七)——适配器模式
- 设计模式(七)——策略模式
- 设计模式(七)——模板方法模式
- AspectJ实现设计模式(七)—装饰模式
- 设计模式学习笔记(七)——Adapter适配器
- Java设计模式(七)
- 设计模式学习(七)
- 建模的误区——走出一般性的设计误区,迈向成功之途(zt)
- 帮AWS用户省钱的Newvem获400万美元融资
- 第一、二、三范式的内容详解简单易懂
- Linux常见命令使用
- 浅谈android的selector背景选择器
- Hibernate的辅助类——HibernateUtil
- 设计模式(七)——迈向新的设计方式
- javascript 获取鼠标当前位置的通用方法
- WinCE上BINFS实现详解
- freebsd下面的mysql配置
- SQL存储过程生成Model层,两种风格样式可选
- 休眠与待机等状态面面观(S0,S1,S2,S3,S4,S5)
- @JoinColumn 匹配关联多个字段
- 如何让程序在win7下获得管理员权限
- ubuntu下android程序启动模拟器