设计模式
与衫
这个作者很懒,什么都没留下…
展开
-
单例设计模式深度剖析
单例设计模式 单例模式(Singleton Pattern)是设计模式中比较常用的一种,主要思想是保证一个类仅有一个实例,并提供一个访问它的全局访问点。 单例模式三要点: (1)、单例类只能有一个实例 这是最基本的,真正做到整个系统中唯一并不容易,通常还要考虑反射破坏、序列化/反序列化、对象垃圾回收等问题。 (2)、单例类必须自己创建自己的唯一实例 通常给实例构造函数pro...原创 2018-10-21 18:06:36 · 3099 阅读 · 1 评论 -
模板设计模式
定义 定义一个操作中算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变算法的结构即可重定义该算法的某些特定步骤。 其实就是完成一件事情,有固定的数个步骤,但是每个步骤根据对象的不同,而实现细节不同;就可以在父类中定义一个完成该事情的总方法,按照完成事件需要的步骤去调用其每个步骤的实现方法。每个步骤的具体实现,由子类完成。 实现 父类 public abstract class Dod...原创 2018-11-28 13:49:11 · 96 阅读 · 0 评论 -
建造者模式
什么是建造者模式 建造者模式是完成一个复杂的对象的创建,将创建的工作交给建造者来完成,对外开发者只需要去关心对象创建所需要的属性构建即可。 建造者模式通常包括下面几个角色: 1、Builder:给出一个抽象接口,以规范产品对象的各个组成成分的建造。这个接口规定要实现复杂对象的哪些部分的创建,并不涉及具体的对象部件的创建。 2、ConcreteBuilder:实现Builder接口,针对不同的商业逻...原创 2018-12-16 14:41:53 · 115 阅读 · 1 评论 -
动态代理模式
什么是动态代理模式 动态代理:就是实现阶段不用关系代理是哪个,而在运行阶段指定具体哪个代理,作用是可以对目标对象进行增强,实现动态增加功能扩展的作用。 实现: 1,使用jdk的动态代理方式,目标类需要实现一个接口,代理类需要实现InvocationHandler接口。 2,使用cglib的动态代理方式,目标类不能被final修饰,在代理过程中会自动生成一个目标类的子类,代理类需要实现MethodI...原创 2018-12-16 15:22:40 · 259 阅读 · 0 评论 -
装饰器模式
什么是装饰器模式 装饰器模式是一种用于代替继承的技术,无需通过继承增加子类就能扩展对象的新功能。使用对象的关联关系代替继承关系,更加灵活,同时避免类型体系的快速膨胀。 组件: Component抽象构件角色:真实对象和装饰对象有相同的接口。这样,客户端对象就能够以与真实对象相同的方式同装饰对象交互。 ConcreteComponent具体构件角色(真实对象):io流中的FileInputStrea...原创 2018-12-23 17:38:29 · 130 阅读 · 0 评论