![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
sinat_35572837
这个作者很懒,什么都没留下…
展开
-
设计模式汇总——待完善
设计模式概述转载 2019-11-07 19:21:26 · 82 阅读 · 0 评论 -
组合模式——待完善
概述适用性:你想表达部分与整体层次结构。你希望用户忽略对象与单个对象的不同,用户统一的使用组合文件中的所有对象。Component可以是单个节点,也可是是一个节点集合。UML类图示例代码public abstract class Component { protected String name; public Component(String name) { ...转载 2019-11-06 18:21:21 · 114 阅读 · 0 评论 -
享元模式——待完善
UML图享元分为两种单纯享元:所有享元对象都是可共享的复合享元:选择性共享对象单纯享元的实现方式不复杂,使用Map储存新的对象,避免重复创建,下面讲一下复合享元:并非所有的子类Flyweight子类都需要被共享,Flyweight接口使共享成为可能,但并不强制共享。Flyweight对象的某些层次结构。UnshareFylweight对象通常将ConcreateFlyweight对象...转载 2019-11-06 17:58:12 · 74 阅读 · 0 评论 -
装饰模式——待完善
概述动态给一个对象添加一些额外的职责,相比生成子类更为灵活。UML类图示例代码public abstract class VisualComponent { public abstract void Draw();}public class TextView extends VisualComponent{ @Override public v...转载 2019-11-06 17:46:27 · 85 阅读 · 0 评论 -
模板方法
模板方法(Template Method)意图定义一个操作中的算法骨架,而将一些步骤延迟到子类中,TemplateMethod使得子类可以不改变一个算法的结构即可以重新定义该算法的某些特定步骤。适用环境一次性实现一个算法的不变部分,并将可变的行为留给子类来实现。各子类中公共的行为应该被提取出来集中到一个公共父类中以避免代码重复。控制子类的扩展代码实现Game.javapubl...转载 2019-09-26 22:43:44 · 92 阅读 · 0 评论 -
状态模式
描述当一个对象的内在状态改变时,允许改变其行为,这个对象看起来像是改变了其类。思考在代码实现部分,一个对象内在状态对应一个State接口,当State接口发生改变时,其doAction方法也发生改变,如此一来状态模式和类多态的特性不就类似了吗?多态:接口的多种不同的实现方式即为多态,即同一个行为具有多个不同表现形式或形态的能力。状态的模式分为两种状态未知监听函数回调的状态通常是未...转载 2019-09-26 22:18:12 · 129 阅读 · 0 评论 -
策略模式
策略模式意图Strategy.javapublic interface Strategy { public int doOperation(int num1, int num2);}转载 2019-09-26 09:30:18 · 80 阅读 · 0 评论 -
抽象(Abstract)工厂(Factory)——待完善
1.意图 提供一个创建一系列相关或互相依赖对象的接口,而无需指定它们具体的类。适用性一个系统独立于它的产品的创建、组合和表示时。一个系统要由多个产品系列中的一个来配置时。当你要强调一系列相关的产品对象的设计以便进行联合使用时。当你提供一个产品类库,而只想显示它们的接口而不是实现时。...原创 2020-12-14 12:24:33 · 63 阅读 · 0 评论 -
桥接(Bridge)模式——待完善
1.意图将抽象部分与他的视线部分分离,使它们都可以独立地变化2.动机当一个抽象可能有多个实现时,通常用继承来协调它们。抽象类定义对该对象抽象接口,而具体的子类则用不同的方式实现。但是此方法有时不够灵活。继承机制将抽象部分与它的实现部分固定在一起,使得难以对抽象部分和实现部分独立的进行修改、扩充和重用。3.适用性你不希望在抽象和它的实现部分之间有一个固定的绑架关系。例如这种情况是因为在程序...原创 2020-12-14 12:24:19 · 69 阅读 · 0 评论 -
适配器(Adapter)模式——待完善
适用性你想使用一个已知类,而它的接口不符合你的需求你想创建一个可以复用的类,该类和其它不相关的类或不可预见的类协同工作(仅适用于对象Adapter)你想使用一些已经存在的子类,但不可能对每一个都进行子类化以匹配它们的接口,对象适配器可以适配它的父类接口...原创 2020-12-14 12:24:06 · 66 阅读 · 0 评论 -
代理模式——待完善
1.意图 对其它对象提供一种代理以控制对这个对象的访问例如一个简单的代理模式可以这样实现public abstract class Subject { public abstract void visi();}public class RealSubject extends Subject{ @Override public void visi() { ...原创 2020-12-14 12:23:47 · 59 阅读 · 0 评论 -
工厂方法——待完善
1.意图定义一个用于创建对象的接口,让子类决定实例化哪一个类,Method使一个类的实例化延迟到其子类4.适用性在下列情况下可以使用FactoryMethod模式:当一个类不知道它所必须创建的对象的时候。当一个类希望由它的子类来指定它所创建的对象的时候。当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一星系局部化的时候。...原创 2020-12-12 12:13:02 · 61 阅读 · 0 评论 -
外观模式——未写
参与者Facade:知道那些子系统负责处理请求,将客户的请求代理给合适的子系统对象Subsystem Classes:实现子系统功能,处理没有由Facade对象指派的任务,没有Facde的任何相关消息。...原创 2020-12-12 12:07:54 · 73 阅读 · 0 评论 -
职责链模式——未写
行为模式原创 2020-12-12 12:03:51 · 56 阅读 · 0 评论