摘要: 模板模式属于行为型模式,使子类可以在不改变算法结构的情况下重新定义算法的某些步骤,适用于抽取子类重复代码到公共父类。 优点是可以封装固定不变的部分,扩展可变的部分。 缺点是每一个不同实现都需要一个子类维护,会增加类的数量。 为防止恶意操作,一般模板方法都以 final 修饰。 HttpServlet 阅读全文
posted @ 2022-05-06 23:51 张三丰学Java 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 策略模式属于行为型模式,定义了一系列算法并封装起来,之间可以互相替换。策略模式主要解决在有多种算法相似的情况下,使用 if/else 所带来的难以维护。 优点是算法可以自由切换,可以避免使用多重条件判断并且扩展性良好,缺点是策略类会增多并且所有策略类都需要对外暴露。 在集合框架中,经常需要通过构造方 阅读全文
posted @ 2022-05-06 17:37 张三丰学Java 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 适配器模式属于结构型模式,它作为两个不兼容接口之间的桥梁,结合了两个独立接口的功能,将一个类的接口转换成另外一个接口使得原本由于接口不兼容而不能一起工作的类可以一起工作。 缺点是过多使用适配器会让系统非常混乱,不易整体把握。 java.io 包中,InputStream 字节输入流通过适配器 Inp 阅读全文
posted @ 2022-05-06 17:28 张三丰学Java 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 装饰器模式属于结构型模式,在不改变原有对象的基础上将功能附加到对象,相比继承可以更加灵活地扩展原有对象的功能。 装饰器模式适合的场景:在不想增加很多子类的前提下扩展一个类的功能。 java.io 包中,InputStream 字节输入流通过装饰器 BufferedInputStream 增强为缓冲字 阅读全文
posted @ 2022-05-06 17:04 张三丰学Java 阅读(27) 评论(0) 推荐(0) 编辑