设计模式
lskyne
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
单件模式
单件模式下:一个类只能有一个对象(实例),并提供一个全局访问点单例与全局静态变量区别全局比那里基本上就是对对象的静态引用全局静态变量是急切实例化,单例是延迟实例化全局遍历不能保证只有一个实例简单单例:class Singleton{private static Singleton sigleton;private Sigleton(){}public stati原创 2013-09-06 10:47:36 · 885 阅读 · 0 评论 -
观察者模式
观察者模式:定义了对象之间的一对多依赖,多个对象同时监听一个对象,当被监听对象改变状态时,它的所有依赖者都会收到通知并自动更新。被监听对象称为主题subject,监听对象称为观察者oberser。观察者模式结构如下:Oberver作为一个对象组存在与ConcreteSubject中,在状态发生变化时,通过notifyObervers()通知Observer的状态更新,O原创 2013-09-10 10:57:16 · 1100 阅读 · 0 评论 -
装饰者模式
装饰者模式:动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。设计原则:1. 多用组合,少用继承。利用继承设计子类的行为,是在编译时静态决定的,而且所有的子类都会继承到相同的行为。然而,如果能够利用组合的做法扩展对象的行为,就可以在运行时动态地进行扩展。2. 类应设计的对扩展开放,对修改关闭。要点:1. 装饰者和被装饰转载 2013-09-10 15:42:17 · 993 阅读 · 0 评论 -
简单工厂模式,工厂模式,抽象工厂模式
三种模式看了一天,记录下自己的理解HeadFirst,比萨店为例1,简单工厂模式一个具体的工厂类SimplePizzaFactory一个抽象的产品类Pizza,可以派生出多个具体的产品类客户:PizzaStore类工厂类SimplePizzaFactory类关联产品类Pizza,工厂生产出不同类型的Pizza客户类PizzaStore类关联工厂SimplePizzaFa原创 2013-09-05 17:17:19 · 1020 阅读 · 0 评论 -
策略模式
定义:定义一组算法,将每个算法都封装起来,并且使他们之间可以互换。类型:行为类模式类图: 策略模式是对算法的封装,把一系列的算法分别封装到对应的类中,并且这些类实现相同的接口,相互之间可以替换。在前面说过的行为类模式中,有一种模式也是关注对算法的封装——模版方法模式,对照类图可以看到,策略模式与模版方法模式的区别仅仅是多了一个单独的封装类Context,转载 2013-09-17 15:39:03 · 915 阅读 · 0 评论
分享