随笔分类 - 设计模式
使用java实现的设计模式。
摘要:装饰者模式就是疯狂套娃。 先埋坑,以后更深入的了解在来填坑。 2022:装饰者模式,符合开闭原则。 java.io 包中关于字节流的操作。 InputStream is = new FileInputStream("aa.txt"); // BufferedInputStream 其实也是一种装饰类
阅读全文
摘要:策略模式的使用参考 java 提供的 Compartor 接口在 list.sort(new Compartor(){}); 中的实现。 每一个实现 Compartor接口重写了 compare 接口的类都是一种排序策略。 实现 Comparable 接口重写 compareTo(Object o)
阅读全文
摘要:建造者模式对客户端屏蔽了复杂对象的创建过程,而且复杂对象的创建步骤交给一个指挥者(Director)进行封装,提供出一个简单明了的方法供上层模块使用。 eg: 以客户需要建一所新的房子为背景: 定义客户为客户端(上层使用模块 Client) 包工头为指挥者(Director) 施工队资质为抽象建造者
阅读全文
摘要:记录对工厂方法的理解: 工厂方法的作用在于封装产品的实现细节及设置。比如手机工厂,如果可以设置手机的操作系统应该在工厂方法中提前设定然后通过工厂方法获取 PhoneFactory.getPhone();, 而不是通过客户端 new Phone(); phone.setOS("xxx"); 用户端只想
阅读全文
摘要:单例模式分饿汉式(程序启动,没有使用到该类就加载到JVM)和饱汉式(第一次被使用的时候才加载到JVM称懒加载)。 单例设计模式首先都是将构造方法私有,确保不会被直接 new 生成实例。确保线程安全的方式,饿汉式通过jvm加载机制确保。饱汉式确保程序安全的方式常有 双重检查机制 和 静态内部类机制。
阅读全文