设计模式
TANGLHUI
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【知了堂学习笔记】——设计模式之单例模式
单例模式1.确保一个类只有一个实例,自行实例化并向系统提供这个实例 2.单例模式分类:饿单例模式(类加载时实例化一个对象给自己的引用)懒单例模式(调用取得实例的方法如getInstance时才会实例化对象)(java中饿单例模式性能优于懒单例模式,c++中一般使用懒单例模式)3.单例模式要素: a.私有构造方法b.私有静态引用指向自己实例c.以自己实例为返回值的公有静态方法 饿汉式转载 2018-01-24 17:18:54 · 316 阅读 · 0 评论 -
【知了堂学习笔记】——设计模式之工厂模式
工厂模式分为三类: 简单工厂模式 、 工厂方法模式、 抽象工厂模式工厂方法模式: 一个抽象产品类,可以派生多个具体的产品类一个抽象工厂类,可以派生出多个具体的工厂类每一个具体工厂类只能创建一个具体产品类的实例抽象工厂模式: 多个抽象产品类,可以派生多个具体的产品类一个抽象工厂类,可以派生出多个具体的工厂类每一个具体工厂类可以创建多个具体的产品类区别: 1.工厂原创 2018-01-24 20:49:04 · 278 阅读 · 0 评论 -
【知了堂学习笔记】——设计模式之代理模式
【解释】 类型:结构模式 对一些对象提供代理,以限制那些对象去访问其它对象。【代理模式结构图】 Subject:抽象主题类,声明真实主题与代理的共同接口方法。 RealSubject:真实主题类,定义了代理所表示的真实对象,客户端通过代理类间接的调用真实主题类的方法。 ProxySubject:代理类,持有对真实主题类的引用,在其所实现的接口方法中调用真实主题类中相应的接口方法执行。转载 2018-02-01 14:09:48 · 323 阅读 · 0 评论 -
【知了堂学习笔记】——设计模式之装饰者模式
装饰者模式通常可以使用继承来实现功能的拓展,如果这些需要拓展的功能的种类很繁多,那么势必生成很多子类,增加系统的复杂性,同时,使用继承实现功能拓展,我们必须可预见这些拓展功能,这些功能是编译时就确定了,是静态的。 要点: 装饰者与被装饰者拥有共同的超类,继承的目的是继承类型,而不是行为装饰者模式的一些特征1,装饰者(decorator)和被装饰(扩展)的对象有着相同的超类(supertype)转载 2018-01-25 18:34:52 · 351 阅读 · 0 评论 -
【知了堂学习笔记】——设计模式之适配器模式
【定义】 将一个类的接口转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以相互合作。这个定义还好,说适配器的功能就是把一个接口转成另一个接口。 【使用场景】 1、已经存在的类的接口不符合我们的需求; 2、创建一个可以复用的类,使得该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作; 3、在不对每一个都进行子类化以匹配它们的转载 2018-02-02 11:21:19 · 357 阅读 · 0 评论 -
【知了堂学习笔记】——设计模式之观察者模式
观察者模式 概念:观察者模式(又被称为发布-订阅(Publish/Subscribe)模式,属于行为型模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。观察者模式中的角色: Subject:抽象主题(抽象被观察者),抽象主题角色把所有观察者对象保存在一个集合里,每个主题都可以有任意数量的转载 2018-01-26 19:38:19 · 329 阅读 · 0 评论 -
【知了堂学习笔记】——设计模式之模板模式
模板模式概念:定义一个操作中算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变算法的结构即可重定义该算法的某些特定步骤。通俗:完成一件事情,有固定的数个步骤,但是每个步骤根据对象的不同,而实现细节不同;就可以在父类中定义一个完成该事情的总方法,按照完成事件需要的步骤去调用其每个步骤的实现方法。每个步骤的具体实现,由子类完成。抽象父类(AbstractClass):实现了模原创 2018-01-27 12:06:04 · 281 阅读 · 0 评论
分享