![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
一颗码苗
这个作者很懒,什么都没留下…
展开
-
设计模式之装饰模式及使用
目录装饰模式介绍源码哪里用到了装饰模式装饰模式与代理模式的区别装饰模式实现装饰模式介绍装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案使用场景:替代继承,扩展一个类的功能动态的给一个对象添加功能,以及动态的撤销该功能优点:动态扩展一个实现类的功能,在不需要添加功能的时候,可以撤销装饰。装饰类和被装饰类模块间,通过抽象产生依赖,不会相互耦合装饰模式替换继承,可以避免继承链的子类被影响源码哪里用到了装饰模式Java I/O 中的装饰者模式字符流(Input原创 2020-06-13 17:48:36 · 164 阅读 · 0 评论 -
设计模式之代理模式(三种)
代理模式六大设计原则代理模式是什么应用场景静态代理动态代理(在运行时,创建目标类,可以调用和扩展目标类的方法)JDK动态代理Cglib动态代理六大设计原则单一职责(一个类干一件事)接口原则(接口方法都能用到)依赖倒转(接口编程) --用到里氏替换(继承性的重写改变了,复用性差)开闭原则(扩展开放、修改关闭) --用到迪米特法则(一个类对其他类保持最少的了解) --用到代理模式是什么代理模式:为其它对象提供一种代理以控制对这个对象的访问控制;在原创 2020-06-13 17:13:02 · 727 阅读 · 1 评论 -
设计模式之工厂模式(三种)
三种工厂模式六大设计原则工厂模式简单工厂模式(静态工厂模式);工厂方法模式;抽象工厂模式小总结六大设计原则单一职责(一个类干一件事)接口原则(接口方法都能用到)依赖倒转(接口编程) --用到里氏替换(继承性的重写改变了,复用性差)开闭原则(扩展开放、修改关闭) --用到迪米特法则(一个类对其他类保持最少的了解) --用到工厂模式Spring初始化时候使用到了工厂模式我们不需要向客户端提供创建的逻辑,只需通过使用一个共同的接口来指向新创建的对原创 2020-06-12 21:24:09 · 178 阅读 · 0 评论 -
设计模式之单例模式(枚举、内部类)
单例模式分析知识前景内部类枚举(默认被final修改类,不能被继承,枚举中只有ToString没有被final修饰,枚举是自己内部实例化对象)单例模式饿汉式(线程安全,问题是消耗资源)懒汉式静态内部类[推荐用,其实是一种懒汉式]枚举(推荐使用)知识前景内部类外部类加载不会加载到内部类每个内部类都能独立地继承一个(接口的)实现外部类的实现与内部类无关内部类可以使用外部类方法属性(包括私有的)public class OIClass { private String name ;原创 2020-06-12 20:14:47 · 475 阅读 · 0 评论