![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
Comexs
天道酬勤
展开
-
我的设计模式学习之路5(观察者模式)
观察者模式(Observer) 角色: 抽象主题角色:将所有观察者对象的引用保存在一个集合中,每个主题可以有任意数量的观察者。抽象主题角色提供一个接口,可以增加和删除任意数据的观察者。 抽象观察者角色:为所有观察者定义一个接口,在得到主题时更新自已。 具体主题角色:将有关状态存入具体观察者对象,在具体主题的内部状态改变时,给所有登记的观察者发出通知。 具体观察者角色:原创 2013-05-16 22:44:27 · 516 阅读 · 0 评论 -
我的设计模式学习之路2(工厂模式)
工厂模式(Factory) 所谓简单工厂模式是类的创建模式,是由一个工厂对象决定创建出哪 一种产品类的实例。 角色: 工厂类角色: 在客户端的直接调用创建产品,一个具体类,可以根据传入的参数不同返同不同的实例。 抽象产品角色: 一个接口,定义了具体产品所受的规范,即相同的形为。 具体产品角色:工厂类角色所需创建的类,一个具体类或多个。原创 2013-05-03 22:22:00 · 478 阅读 · 0 评论 -
我的设计模式学习之路1(单例模式)
单例模式(Singleton) 单例模式的特点 一.自动初始化 二.只有一个实例(对象) 三.允许整个系统访问自己 四.私有的构造方法,不能被继承 类图: 类图用的是starUML这款软件画的,有兴趣的可以用用,挺好用的~ package com.service; public class Singleton { private static final Singl原创 2013-05-02 10:41:15 · 538 阅读 · 0 评论 -
我的设计模式学习之路4(责任链)
责任链(Chain Of Resonsibility) 角色: 抽象处理者角色:定义出一个处理请求的接口,接口可以定义出一个或多个方法,以设定具体处理者所做的动作。 具体处理角色:具体处理者接到请求后,可以选择地将请求处理掉,或者将请求传递给下一个具体处理角色。 类图: 下面是我写的扩展实例,可以增加自定义的链,以便用字符串处理,原代原创 2013-05-09 19:22:47 · 592 阅读 · 0 评论 -
我的设计模式学习之路3(动态代理)
代理模式(Proxy) 1.静态代理 角色: 抽象主题角色:声明了代理角色和真实角色的共同接口 代理角色:代理角色内部含有对真实角色的引用,通常在将客户端调整用传弟它们真实角色之前或者之后,都要执行某个操作 真实角色:定了代理角色所代表的真实对象 类图: 下面是我的写的一个例子: 首先是抽象主题角色: package原创 2013-05-05 22:21:12 · 567 阅读 · 0 评论 -
我的设计模式学习之路6(门面模式)
门面模式(Facade) 门面模式要求一个子系统的外部与其内部的通信必须通过一个统一的门面对象进行。 角色: 门面角色:客户端可以调用这个角色的方法,些角色知晓一个或多个子系统的功能和责任。 子系统角色:可以同时有一个或多个子系统,每一个子系统都不是一个单独的类,也不是类的集合,可以被客户端直接调用或者被门面角色调用。 类图:原创 2013-06-12 18:09:29 · 381 阅读 · 0 评论 -
我的设计模式学习之路7(模板模式)
模板方法模式(Template method) 定义一个操作中的算法骨架,而将一些步骤延伸到了类中去,使得子类可以不改变一个算法的结构,即可重新定义该算法的某些特定步骤,这里需要复用的是算法的结构,也就 是步骤,而步骤的实现可以在子类中完成。 角色: 抽象模板: 1.定义了一个或多个抽象操作,以便让子类实现。这些抽象操作叫做基本操作,它们是一个顶级逻原创 2013-06-20 19:31:45 · 408 阅读 · 0 评论