摘要: 对于扩展是开放的;对于更改是封闭的。 无论模块是多么的“封闭”,都会存在一些无法对之封闭的变化。既然不可能完全封闭,设计人员必须对于他设计的模块应该对哪种变化封闭做出选择。他必须先猜测出最有可能发生的变化种类,然后构造抽象来隔离那些变化。 在我们最初编写代码时,假设变化不会发生。当变化发... 阅读全文
posted @ 2014-12-26 17:32 晨星坠 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 单一职责原则(SRP):就一个类而言,应该仅有一个引起它变化的原因。 如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。 软件设计真正要做的许多内容,就是发现职责... 阅读全文
posted @ 2014-12-26 16:54 晨星坠 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 面向对象的编程,并不是类越多越好,类的划分是为了封装,但分类的基础是抽象,具有相同属性和功能的对象的抽象集合才是类。 策略模式(Strategy) 它定义了算法家族, 分别封装起来,让它们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户。 策略模式是一种定义一系列算法的... 阅读全文
posted @ 2014-12-26 16:28 晨星坠 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 类图 两种接口图 继承类与实现接口 关联引用 聚合 组合 依赖 阅读全文
posted @ 2014-12-26 14:29 晨星坠 阅读(588) 评论(0) 推荐(0) 编辑
摘要: 用于创建实例。 阅读全文
posted @ 2014-12-26 13:47 晨星坠 阅读(111) 评论(0) 推荐(0) 编辑