想知道我最近关注什么 点进来看看
【23种设计模式】14模板方法模式
描述:将操作延迟到子类
优点:不改变父类结构,提高灵活性,父类的模板方法被继承使用
缺点:每个实现都需要一个子类
【23种设计模式】13代理模式
描述:为其他对象提供一种代理,以访问这个对象
优点:分为静态代理和动态代理
缺点:每个对象都需要对应一个代理类,原对象改变时需要代理对象也需要改变,增加函数处理时间
【23种设计模式】12享元模式
描述:蝇量模式,共享对象支持大量的细粒度对象,内/外部状态,共享/非共享
优点:减少对象创建,降低内存
缺点:外部状态不随内部改变,提高复杂性
【23种设计模式】11外观模式
描述:用统一的接口访问一个系统
优点:解耦,复杂接口变得方便可用,内部可维护,迪米特法则对内封装对外暴露
缺点:不开闭,修改子类需要也修改外观类
【23种设计模式】10组合模式
描述:部分-整体模式,将对象组合成树形结构,单个对象和组合对象使用上一致
优点:调用简单,部分的属性和整体的属性一致,可扩展,易于查找父节点
缺点:抽象的节点需保持近似或一样的属性和方法
【23种设计模式】9装饰者模式
描述:对象易于动态添加新功能,开闭原则
优点:装饰类和被装饰类解耦,代替继承,动态展类的功能
缺点:过度使用,增加复杂度
【23种设计模式】8桥接模式
描述:抽象和实现区分,且可以单独改变
优点:解耦,减少子类个数
缺点:需要识别独立变化的维度,有局限性
【23种设计模式】7适配器模式
描述:将一个类的接口变换为另一个,匹配两个不同类
优点:提高类的复用性
缺点:类适配器的适配者需要暴露方法,对象适配器替换时麻烦
【23种设计模式】6建造者模式
描述:对象的构建与表示分离,同样的构建过程创建不同的表示
优点:解耦对象和它的构建过程,建造者独立,容易扩展
缺点:需要对象有较多的共同点,对象内部变化导致建造者变多