随笔分类 - 设计模式
摘要:定义: 将复杂构建与表示分离,使得同样的构造过程创建不同的表示俗语: 比如要实现很多内部功能复杂的类,而这些类的构造过程差不多,而又不希望将这种复杂性交给调用者时,可考虑用建造者模试设计。例子: 例如,我要装修房子,但我又不想自已买一堆材料,然后画施工图纸请工人施工,因为这样太复杂,我又不专业。因此,我请了装饰公司帮忙。我告诉他们我要什么样的效果,他们会根据要求购买材料,画图,施工,中间的繁杂过程我是看不到的。最后我得到满意的装修房子。角色: 这里有三个角色: 一、调用者(client)通常所说的客户端,例子里的我自已 二、指导者(Director)例子里说的装包饰公司 三、建造者 (Buil
阅读全文
摘要:定义: 创建一系统相互依赖或关联的接口,不用指定具体的类。俗语: 比如要构建一个大类,这个类的功能又由许多子类组成,而这些子类又有各自的不同功能的版本。这时,可考虑用虚拟工厂模式。例子: 要组装生产电脑。电脑由硬盘、内存、CPU、主板、电源等部件组成。这些部件就是我们定义的子类。因为各个部件(子类)的品牌,规则各异。如果为每一个部件创建一个独立的类那会使得组装起来很杂乱,而且强烈依赖每个具体的部件,如果某个部件丢失,则影响整台电脑的生成。所以,要解决这类问题,就需要创建一个抽象工厂,该工厂的功能是创建硬盘、内存、cpu等。这里大家可能发现,没有指定具体的品牌。对,是这样的。优点就是这里,这里第
阅读全文

浙公网安备 33010602011771号