赞
踩
每一种产品提供一个工厂类 (1对1)
多产品,多工厂(1对多),比如说,每个汽车公司可能要同时生产轿车,货车,客车,那么每一个工厂都要有创建轿车,货车和客车的方法。
区别
简单工厂 : 用来生产同一等级结构中的任意产品。(对于增加新的产品,无能为力)
工厂方法 :用来生产同一等级结构中的固定产品。(支持增加任意产品)
抽象工厂 :用来生产不同产品族的全部产品。(对于增加新的产品,无能为力;支持增加产品族)
将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
使用多个简单的对象一步一步构建成一个复杂的对象。
(分块拼起来)
单一的类,该类负责创建自己的对象
用于创建重复的对象(复制)
两个不兼容的接口之间的桥梁(如:读卡器,源接口→目标接口)
一个类代表另一个类的功能
允许向一个现有的对象添加新的功能,同时又不改变其结构
(我们将把一个形状装饰上不同的颜色,同时又不改变形状类。)
定义了一个高层接口,这个接口使得这一子系统更加容易使用。
用于把抽象化与实现化解耦,使得二者可以独立变化
又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象
主要用于减少创建对象的数量,以减少内存占用和提高性能。
(1) 单纯享元模式
(2) 复合享元模式
类的行为是基于它的状态改变的
一个类的行为或其算法可以在运行时更改
是一种数据驱动的设计模式
又被称为发布-订阅(Publish/Subscribe模式
当对象间存在一对多关系时
比如,当一个对象被修改时,则会自动通知依赖它的对象。
表示一个作用于某对象结构中的各元素的操作。
它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。
示例
例子:程序要求实现当男人和女人在不同状态下的反应。
男人成功时,背后多半有一个伟大的女人。
女人成功时,背后多半有一个伟大的男人。
男人失败时,闷头喝酒,谁也不用劝。
女人失败时,眼泪汪汪,谁也劝不了。
男人恋爱时,凡是不懂也要装懂。
女人恋爱时,遇事懂也装作不懂。
男女对比这么多的原因就是因为人类在性别上就只有男人和女人两类。
UML图:
用来降低多个对象和类之间的通信复杂性
联合国作为一个由各国代表组成,用来维护国际和平与安全,解决国际间经济、社会、文化和人道主义性质的问题的角色,它就是一个调停者、中介者的角色,国与国直接完全完全可以通过“联合国”这个中介者来发生关系,而不用直接通信。
迭代器模式
迭代子模式可以顺序地访问一个聚集中的元素而不必暴漏聚集的内部表象。
(1)白箱聚集与外禀迭代子
(2)黑箱聚集与内稟迭代子
宽接口:可修改,白箱聚集,外部
窄接口:不可修改,黑箱聚集,内部
提供了评估语言的语法或表达式的方式
保存一个对象的某个状态,以便在适当的时候恢复对象
避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。
将重复不变的代码提取到一个抽象类中
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。