随笔分类 -  设计模式

摘要:1.开闭原则 指一个类应该对扩展开发 对修改关闭,用抽象构造框架 用实现扩展细节 提高软件系统的可复用性 开闭原则的核心思想就是面向抽象编程 2.依赖倒置原则 设置代码结构时 高层模块不应该依赖底层模块 二者都应该依赖其抽象(接口) 抽象不应该依赖细节 写代码之前 先写接口 再写实现 (面向接口编程 阅读全文
posted @ 2020-04-19 18:06 辰梓悦 阅读(143) 评论(0) 推荐(0)
摘要:观察者模式 当更改一个对象 可能需要更改其它对象 public interface Observer { void send (Object object); } public class Subject { private List<Observer> list = new ArrayList<> 阅读全文
posted @ 2020-03-19 19:55 辰梓悦 阅读(130) 评论(0) 推荐(0)
摘要:装饰器模式 不改变原有对象的情况下 给一个对象扩展功能 创建一个接口 // 手机接口 public interface Phone { // 功能 void funcation(); } // 手机类 public class PhoneApp implements Phone { @Overrid 阅读全文
posted @ 2020-03-18 20:05 辰梓悦 阅读(109) 评论(0) 推荐(0)
摘要:适配器 使用已有类 但接口与其它代码不兼容时 使用该模式 重用几个子类 但子类缺少一些不能添加到父类中的公共功能时 使用该模式 对象适配器(使用组合) // 手机usb接口 public interface UsbPhone { String getName(); } // 电脑usb接口 publ 阅读全文
posted @ 2020-03-18 18:13 辰梓悦 阅读(121) 评论(0) 推荐(0)
摘要:享元模式 共享对象 节省大量内存和CPU资源 public class People { private final String name; private final String sex; public People(String name, String sex) { System.out. 阅读全文
posted @ 2020-03-18 15:49 辰梓悦 阅读(95) 评论(0) 推荐(0)
摘要:建造者模式 一般用于不可变对象 比如配置文件 // 创建打印机类 public class Print { // 配置写死了 private final String printName = "1"; private final String printVersion = "2"; private 阅读全文
posted @ 2020-03-18 15:02 辰梓悦 阅读(114) 评论(0) 推荐(0)
摘要:工厂模式 通常由我们自己创建(new) 对象 增加了程序的耦合度 为了将对象创建使用相分离 采用工厂模式工厂负责创建对象 我们直接从工厂里面取对象就行 将实例化的过程封装起来 进行统一管理 简单工厂模式 // 打印机接口 public interface Print { // 获得打印机的名字 St 阅读全文
posted @ 2020-03-18 12:19 辰梓悦 阅读(175) 评论(0) 推荐(0)
摘要:单例设计模式 保证一个类只有一个实例 懒汉式 (在需要的时候才实例化) 在单线程环境下 实例只有一个 class SingletonTest{ public static void main(String[] args) { Singleton singleton1 = Singleton.getI 阅读全文
posted @ 2020-03-17 17:51 辰梓悦 阅读(119) 评论(0) 推荐(0)
摘要:模拟鸭子应用 使用继承 public abstract class Duck { public void quack(){ System.out.println("鸭子呱呱叫"); } public void swim(){ System.out.println("鸭子游泳"); } public 阅读全文
posted @ 2020-03-17 15:31 辰梓悦 阅读(149) 评论(0) 推荐(0)