
设计模式
NJUdudu
这个作者很懒,什么都没留下…
展开
-
单例模式
单例设计模式 单例设计模式:保证类在内存中只有一个对象。 如何保证类在内存中只有一个对象呢? (1)控制类的创建,不让其他类来创建本类的对象 。(private)。 (2)在本类中定义一个本类的对象。private Singleton s; (3)提供公共的访问方式。 public static Singleton getInstance(){return s} 单例写法两种: ...原创 2018-12-04 19:51:27 · 141 阅读 · 0 评论 -
装饰者设计模式
装饰者设计模式 此设计模式遵循的设计原则之一:类应该支持扩展,而拒绝修改; 一、固定结构 已知接口A和其实现类C,需要装饰者创建代理类B; 创建类B,并实现接口A; 提供类B的构造方法,参数类型为A,用于接收A接口的其他实现类C; 给类B添加类型为A成员变量,用于存放A接口的其他实现类; 增强需要的方法; 实现不需要增强的方法,方法体重调用成员变量存在的其他实现类对应的方法。 A a = ne...原创 2018-12-04 21:04:50 · 163 阅读 · 0 评论 -
动态代理机制
一、动态代理简介 代理类在程序运行时创建的代理方式被成为动态代理。 静态代理的代理类是自己定义好的,在程序运行之前就已经编译完成。然而动态代理,代理类并不是在Java代码中定义的,而是在运行时根据我们在Java代码中的“指示”动态生成的。相比于静态代理, 动态代理的优势在于可以很方便的对代理类的函数进行统一的处理,而不用修改每个代理类中的方法。—— 字节码对象级别的代理对象 二、动态代理的构成 ...原创 2019-01-10 16:43:34 · 342 阅读 · 0 评论 -
策略设计模式
一、策略设计模式简介 策略设计模式的主要思想就是针对一组算法,将每个算法封装到具有共同接口的独立的类中,从而使它们可以相互替换。策略模式的最大特点是使算法可以在不影响客户端的情况下发生变化,从而改变不同的功能。 二、策略设计模式的组成 抽象的策略略角色通常情况下是接口或者抽象类。 具体策略角色继承抽象的策略角色,实现各自的具体的的算法和行为。 环境角色内部持有抽象的策略角色的引用,接收客户端向环...原创 2019-01-24 17:54:00 · 183 阅读 · 0 评论 -
设计模式之工厂模式
在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。但是在一些情况下, new操作符直接生成对象会带来一些问题。举例来说, 许多类型对象的创造需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生成你需要的对象之前必须先生成一些辅助功能的对象。 在这些情况,新对象的建立就是一个 “过程”,不仅是一个操作,像一部...原创 2019-09-11 16:22:37 · 140 阅读 · 0 评论