首页 > 代码库 > 设计模式概要

设计模式概要

本文学习自程杰兄的大话设计模式所记心得,建议各位看官去看看这一本书。本文留楼主日后回忆时阅读使用

简单工厂模式

把对象的获取放到工厂中,可以减少依赖。对类进行使用继承。使用父类去获取,在需求变更的时候,需要改变的地方只需要加一个子类和工厂中的逻辑。不会对表现层(客户端)有任何的变更,这无疑降低了依赖关系。对后续的迭代和需求变更可以从容应对。

就像是 人(表现层)   超市(工厂)  果园(业务实现)

我们要吃的水果只然是果园中生产出来的,但是如果每次想要吃水果都要去果园采摘的话,这无疑是很麻烦的。人和果园就产生了依赖, 假如有一天想要吃进口的水果或者是其它果园的水果呢? 人就需要再去查资料去找相应的果园。

而超市引进了各种果园的水果,人可以根据自己的需要购买。

 

 

策略模式

策略模式定义了算法家庭,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。

一个操作有多种行为的时候,就需要使用条件语句去判断寻找合适的行为,而把行为独立开。就可以避免这些条件判断,而且也会利于代码的整洁性与可读性。

策略模式就是应对需求变更而生的,我们的算法本身就是一种策略,实现这个行为的策略。 而行为是随时都有可能被替换,这就是变化的点。而策略模式封装了变化。

一个操作具有多少行为,而这些行为是为了完成这个操作,只是行为与行为的实现有点不同。策略模式可以以相同的方式去调用所有的算法。

设计模式概要