设计模式
洛北辰南
这个作者很懒,什么都没留下…
展开
-
设计模式总结
六大设计原则 原则 英文 含义 说明 作用 单一职责原则 Single Responsibility Principle 一个类应该只有一个发生变化的原因。 一个类仅承担一种职责。 类复杂度低、可读性强、易维护。 开闭原则 Open Closed Principle 一个软件实体,如类、模块和函数应该对扩展开放,对修改关闭。 在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。 扩展性强、易于维护和升级。 里式替换原则 Liskov Substitution Pri原创 2020-12-07 10:40:50 · 173 阅读 · 0 评论 -
行为型设计模式
文章目录观察者模式实现方式1. 同步阻塞2. 异步非阻塞3. 跨进程模板模式作用一:复用实例一:Java InputStream实例二:Java AbstractList作用二:扩展实例一:Java Servlet实例二:JUnit TestCase策略模式定义创建使用避免分支逻辑总结职责链模式作用1. 降低复杂性2. 提升可扩展性应用场景消息敏感词检查用户登录校验状态模式有限状态机实现方式1. 分支逻辑法2. 查表法3. 状态模式应用场景1. 分支逻辑法2. 查表法3. 状态模式迭代器模式实现迭代器优势常原创 2020-11-04 11:28:33 · 1352 阅读 · 2 评论 -
结构型设计模式
文章目录代理模式实现方式1. 静态代理2. 动态代理应用场景1. 业务系统的非功能性需求开发2. 代理模式在RPC、缓存中的应用桥接模式装饰器模式适配器模式实现方式1. 类适配器2. 对象适配器应用场景1. 封装有缺陷的接口设计2. 统一多个类的接口设计3. 替换依赖的外部系统4. 兼容老版本接口5. 适配不同格式的数据门面模式应用场景1. 解决易用性问题2. 解决性能问题3. 解决分布式事务问题总结组合模式享元模式实现方式举例1. 棋牌问题2. 爬楼梯问题享元模式 vs 单例、缓存、对象池1. 单例2.原创 2020-11-04 11:22:01 · 784 阅读 · 0 评论 -
创建型设计模式
文章目录单例模式案例1. 处理资源访问冲突2. 表示全局唯一类实现方式1. 饿汉式2. 懒汉式3. 双重校验锁4. 静态内部类5. 枚举存在哪些问题?1. 单例对OOP特性的支持不友好2. 单例对隐藏类之间的依赖关系3. 单例对代码的扩展性不友好4. 单例对代码的可测试性不友好5. 单例不支持有参数的构造函数替代解决方案?工厂模式简单工厂(Simple Factory)工厂方法(Factory Method)抽象工厂(Abstract Factory)应用场景简单工厂工厂方法抽象工厂建造者模式应用场景原型模原创 2020-11-04 11:20:05 · 593 阅读 · 0 评论 -
单例模式中存在的安全问题
线程安全问题 双重校验锁 public class Singleton { private static Singleton instance = null; // 私有构造函数 private Singleton() {} public static Singleton getInstance() { if (instance == null) { synchronized (Singleton.class) {原创 2020-11-04 11:17:11 · 747 阅读 · 0 评论