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

浙公网安备 33010602011771号