结构型
文章平均质量分 51
结构型模式:关注对象和类之间的组装,通常涉及对象之间的组合、继承和实现的关系,以及如何更好地组织这些关系以便于扩展和维护。
小白想要逆袭
喜欢分享学习的小白,帅
展开
-
大话设计模式——14.享元模式(Flyweight Pattern)
尝试重用现有的同类对象,未找到匹配的对象,则创建新对象。它提供了减少对象数量从而改善应用所需的对象结构的方式UML图:Java的String类型数据,字符串常量池中存在则并返回,没有则创建字符串并保存在字符串常量池中系统中存在大量相似对象,需要进行池化的时候,如数据库连接池、线程池等需要生成大量的细粒度的实例,且实例大体相似优点可以减少对象的创建,减少程序内存的占用,提高系统性能缺点增加了系统的复杂性必须有一个工厂类加以控制。原创 2024-04-08 16:18:41 · 398 阅读 · 0 评论 -
大话设计模式——13.外观模式(Facade Pattern)
又称门面模式,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。UML图第三方SDK大多使用该模式,通过一个外观类,可对用户屏蔽很多实现细节对于复杂难以维护的老系统进行拓展外界对子系统的访问只能黑盒操作,需要对一个复杂的模块或子系统提供一个对外界访问的接口优点:减少系统之间的相互依赖,提高灵活性符合依赖倒转原则(面向接口编程)符合迪米特法则(最少知道原则,类之间应尽量少的发生相互作用)缺点增加了系统的调用链路。原创 2024-04-08 15:22:05 · 401 阅读 · 0 评论 -
大话设计模式——12.组合模式(Composite Pattern)
又称部分整体模式,将对象组合成树形结构以表示‘部分-整体’的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性UML图:应用场景银行总行-分行总公司-分公司文件夹-文件要处理的对象可以生成一颗树形结构,对树上的节点和叶子进行操作时,能够提供一致的方式优点客户端只需要面对一致的对象无需考虑整体部分的问题方便创建复杂的层次结构缺点客户端需耗费较多时间梳理类之间的层次关系。原创 2024-04-08 14:46:44 · 378 阅读 · 0 评论 -
大话设计模式——11.桥接模式(Bridge Pattern)
将抽象部分与它的实现部分分离,使它们可以独立变化。UML图:系统需要在构建的抽象化角色和具体化角色之间增加更多的灵活性不想使用继承导致系统类的个数急剧增加某个类存在多个变化维度使用继承方式容易出现类的膨胀优点实现抽象和实现的分离,提高系统灵活性具备良好的扩展性,符合开闭原则缺点增加系统的理解和设计难度。原创 2024-04-08 13:43:53 · 730 阅读 · 1 评论 -
大话设计模式——10.适配器模式(Adapter Pattern)
将一个类的接口转换成客户希望的另外一个接口。使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。可以让任何两个没有关联的类⼀起运行,使得原本接口不兼容的类也可以一起工作提高代码可复用性和灵活性增加了整体的调用链路。原创 2024-04-07 16:46:37 · 356 阅读 · 0 评论 -
大话设计模式——4.装饰模式(Decorator Pattern)
1)可以在不改动原有对象代码的情况下扩展对象的功能,通过聚合的方式相较于继承更加灵活。2)UML图1)优点扩展功能不必修改原有代码,符合开闭原则较继承方式更为灵活2)缺点会构建较多子类,代码编写变的复杂,增加了系统的复杂度与运维理解难度。原创 2024-02-29 16:05:38 · 552 阅读 · 0 评论 -
大话设计模式——5.代理模式(Proxy Pattern)
为其他具体对象提供一种代理用以控制对这个对象的访问,属于结构型模式。无需修改代理的对象源码,符合开闭原则,可使系统具有较好的灵活性和可扩展性可以对代理的具体对象做增强处理,如增加一些功能等增加了系统的复杂性与调用过程的链路。原创 2024-03-07 12:15:21 · 614 阅读 · 0 评论