设计模式
wangxiaowu241
这个作者很懒,什么都没留下…
展开
-
java设计模式之适配器模式
说明 将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作 简单来说:作为两个不同接口的桥梁,负责加入不同的接口功能。 举例 例如,常见的电源适配器,我们都知道家庭常用的电源电压都是220V的,但是手机电压一般是5V的,手机的充电器头就是一个适配器,将220V转换成5V。 关键代码实现 适配器继承或依赖(推荐)已有的对象,实现想要...原创 2019-05-05 17:31:07 · 96 阅读 · 0 评论 -
Java设计模式之装饰模式
定义 像现有的一个对象添加新的功能,同时又不改变其结构,它是作为现有的一个类的包装。 装饰模式创建了一个装饰类,包装了原有的类,而又不改变其内部结构,同时增加新的功能。 适用于 般的,我们为了扩展一个类经常使用继承方式实现,由于继承为类引入静态特征,并且随着扩展功能的增多,子类会很膨胀。在不想增加很多子类的情况下扩展类。 例子 原接口及具体实现 public interface Subject {...原创 2019-05-08 19:56:09 · 154 阅读 · 0 评论 -
Java-单例模式的几种写法
一,饿汉式 优点:线程安全,实现简单。 缺点:类加载时就初始化了,没有实现懒加载。 public final class HungrySingleTon { private static final HungrySingleTon instance = new HungrySingleTon(); private HungrySingleTon() { ...原创 2018-03-26 01:16:14 · 5821 阅读 · 0 评论 -
Java设计模式之桥接模式
定义 将事物实现从各维度抽象出来,各维度独立变化,之后通过聚合或依赖的方式组合起来,减少各维度之间的相互耦合,从而更加适合变化。 适用于 当一种事物在多个维度都有比较灵活的变化时,如果为每个维度,每个变化都独立一个类的话,假设有N个维度,每个维度有M个变化,那么就会创建MN个类,造成类爆炸。使用桥接模式,将各个维度之间解耦合,不使用继承,使用依赖方式,解决类爆炸问题。 例子 说明 一辆汽车有多个维...原创 2019-05-07 15:39:36 · 183 阅读 · 0 评论 -
Java设计模式之JDK动态代理原理(基于JDK8)
名词解释 静态代理:编译期就已确定代理对象。即编码出代理类。 动态代理:运行时动态生成代理对象。可对被代理类做出统一的处理,如日志打印,统计调用次数等。 JDK动态代理:即JDK中自带的动态代理生成方式。JDK动态代理的实现依赖于被代理类必须实现自接口。 cglib动态代理:cglib工具包实现的动态代理生成方式,通过字节码来实现动态代理,不需要被代理类必须实现接口。 动态代理...原创 2019-05-12 21:59:20 · 1150 阅读 · 0 评论