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