设计模式
XD_fybdw
这个作者很懒,什么都没留下…
展开
-
动态代理VS静态代理
一、代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。 为了保持行为的一致性,代理类和委托类通常会实现相同的接口,所以在访问者看来两者没有丝毫的区别。通过代理类这中间一层,能有效控制对委托类对象的直接访问,也可以很好地隐藏和保护委托类对象,同时也为实施不同控制策略预留了空间,从...原创 2018-06-19 22:21:54 · 192 阅读 · 0 评论 -
单利模式
一、简单介绍单利模式 意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 主要解决:一个全局使用的类频繁地创建与销毁。 何时使用:当您想控制实例数目,节省系统资源的时候。 如何解决:判断系统是否已经有这个单例,如果有则返回,如果没有则创建。 关键代码:构造函数是私有的。 单利模式的特点: 单例模式有以下特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一...原创 2018-06-23 22:43:57 · 423 阅读 · 0 评论 -
职责链模式
职责链模式 也叫责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。 在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。意图:避免请求发送者与接收者耦合在一起,让多...原创 2018-06-30 22:24:09 · 192 阅读 · 0 评论 -
观察者模式
观察者模式也叫发布—订阅模式。 当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。 意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 主要解决:一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。...原创 2018-07-01 10:53:32 · 216 阅读 · 0 评论 -
简单工厂&工厂方法&抽象工厂
一、简单工厂(Simple factory) 集中管理对象的产生,业务代码只需要调用相应的方法, 传入不同的参数区分对象,就能得到想要的对象了 把业务代码和对应的对象解耦创建一个抽象类public abstract class CellPhone { protected String name; public CellPhone(String name){ ...原创 2018-07-01 13:26:40 · 237 阅读 · 0 评论