设计模式
文章平均质量分 86
morning_judger
个人总结学习
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【设计模式系列】策略模式(二十四)
算法的变化不会影响使用算法的用户。策略模式让算法的变化独立于使用算法的客户。原创 2024-12-08 20:58:42 · 1359 阅读 · 0 评论 -
【设计模式系列】状态模式(二十三)
状态模式(State Pattern)是一种行为设计模式,。这种模式通过将每个状态相关的行为封装在独立的类中,使得对象在不同状态下可以有不同的行为表现,而不需要在对象内部使用大量的条件判断语句。原创 2024-12-08 15:57:42 · 1299 阅读 · 0 评论 -
【设计模式系列】访问者模式(二十二)
访问者模式(Visitor Pattern)是一种行为型设计模式,它允许你将算法与对象结构分离,从而在不修改对象结构的情况下,可以添加新的操作。这种模式特别适用于处理一个对象结构(比如组合结构)中的多个对象,并且希望在不改变对象结构的前提下,能够对这些对象执行新的操作。原创 2024-12-07 22:35:41 · 1430 阅读 · 0 评论 -
【设计模式系列】工厂方法模式(二十一)
工厂方法模式(Factory Method Pattern)是一种创建型设计模式,其核心目的是定义一个创建对象的接口,但让实现这个接口的子类来决定实例化哪一个类。工厂方法模式让类的实例化推迟到子类中进行,从而提高了代码的灵活性和可扩展性。原创 2024-12-01 14:59:31 · 956 阅读 · 0 评论 -
【设计模式系列】单例模式(二十)
单例模式(Singleton Pattern)是一种常用的软件设计模式,属于创建型模式。它的目的是确保一个类只有一个实例,并提供一个全局访问点来获取这个实例。原创 2024-12-01 12:06:18 · 660 阅读 · 0 评论 -
【设计模式系列】备忘录模式(十九)
备忘录模式(Memento Pattern)是一种行为型设计模式,它允许在不暴露对象内部状态的情况下保存和恢复对象的状态。备忘录模式通过将对象的状态封装在备忘录对象中,使得可以在需要时将对象恢复到之前的某个状态。原创 2024-12-01 11:00:01 · 671 阅读 · 0 评论 -
【设计模式系列】中介者模式(十八)
中介者模式(Mediator Pattern)是一种行为型设计模式,其核心思想是通过一个中介者对象来封装一系列对象之间的交互,使这些对象不需要相互显式引用。中介者模式提供了一个中介层,用以协调各个对象之间的通信,从而减少它们之间的耦合度。原创 2024-11-30 23:33:41 · 987 阅读 · 0 评论 -
【设计模式系列】解释器模式(十七)
解释器模式(Interpreter Pattern)是一种行为型设计模式,它的核心思想是分离实现与解释执行。原创 2024-11-30 08:55:31 · 1842 阅读 · 0 评论 -
【设计模式系列】责任链模式(十六)
责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式。其核心思想是将请求的发送者和接收者解耦,通过一个中介链来传递请求,使得多个对象都有可能接收请求,从而避免请求发送者和接收者之间的耦合关系。抽象处理者(Handler)角色:作为责任链模式的核心,这个接口定义了统一的处理请求的方法,并定义了如何将请求传递给下一个处理者。具体处理者(Concrete Handler)角色:实现抽象处理者的处理方法,判断能否处理本次请求。如果可以处理请求,则直接处理;否则,将请求传递原创 2024-11-23 22:04:55 · 1249 阅读 · 0 评论 -
【设计模式系列】享元模式(十五)
享元模式核心思想是使用共享的方式来高效地管理大量细粒度的对象。原创 2024-11-10 00:00:06 · 1424 阅读 · 0 评论 -
【设计模式系列】外观模式(十四)
外观模式的核心目的是为一个复杂的子系统提供一个简化的接口。原创 2024-11-03 11:54:46 · 862 阅读 · 0 评论 -
【设计模式系列】桥接模式(十三)
桥接模式的核心目的是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式主要用于处理那些在设计时无法确定实现细节的场合,或者需要在多个实现之间进行切换的场景。原创 2024-11-03 11:04:52 · 754 阅读 · 0 评论 -
【设计模式系列】组合模式(十二)
组合模式的核心思想是将对象组合成树状结构,使得单个对象和对象的组合能够以相同的方式被处理。原创 2024-11-03 09:16:30 · 1351 阅读 · 0 评论 -
【设计模式系列】原型模式(十一)
原型模式(Prototype Pattern)是一种创建型设计模式,它使得一个对象可以复制自身,从而创建一个与自己属性一致的新对象,而无需知晓对象创建的细节。(例如,涉及复杂的初始化过程)。原创 2024-11-02 17:32:00 · 998 阅读 · 0 评论 -
【设计模式系列】建造者模式(十)
建造者模式(Builder Pattern)是一种创建型设计模式,用于构建复杂对象。它将一个复杂对象的构建和表示分离,使得同样的构建过程可以创建不同的表示。原创 2024-11-02 17:18:08 · 1516 阅读 · 0 评论 -
【设计模式系列】适配器模式(九)
适配器模式(Adapter Pattern)是一种结构型设计模式,它允许将不兼容的接口转换为一个客户端期望的另一个接口,从而使得原本不兼容的类可以一起工作。这种模式通常用于实现类之间的兼容,让它们可以无缝地协同工作。适配器模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。原创 2024-10-28 22:49:23 · 1110 阅读 · 0 评论 -
【设计模式系列】代理模式(八)
代理模式(Proxy Pattern)是一种结构型设计模式,它为其他对象提供一种代理以控制对这个对象的访问。通过引入一个代理对象来间接操作实际对象,可以在不改变实际对象代码的前提下,增加额外的功能操作,如访问控制、延迟初始化、日志记录等。原创 2024-10-27 21:11:35 · 746 阅读 · 1 评论 -
【设计模式系列】迭代器模式(七)
迭代器模式(Iterator Pattern)是一种行为型设计模式,。迭代器模式将集合的遍历过程封装在一个独立的迭代器对象中,这样客户端代码就可以通过迭代器来访问集合,而不需要了解集合的内部结构。原创 2024-10-27 19:57:48 · 1213 阅读 · 0 评论 -
【设计模式系列】观察者模式(六)
这种模式也被称为发布-订阅模式,其中对象(主题)维护一个依赖于它的观察者列表,并且在其状态变化时通知它们。原创 2024-10-20 14:41:32 · 1040 阅读 · 0 评论 -
【设计模式系列】抽象工厂模式(五)
抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,它提供了一个接口,用于创建一系列相关或相互依赖的对象,而无需指定它们具体的类。这种模式允许客户端使用抽象的接口来创建一组相关产品,而不需要知道或关心实际生产出的具体产品是什么,从而实现客户端与具体产品的解耦。抽象产品族(Abstract Product):具体产品(Concrete Product):抽象工厂(Abstract Factory):具体工厂(Concrete Factory):多系列产品创建: 当一个系统需要原创 2024-10-20 10:52:49 · 1360 阅读 · 0 评论 -
【设计模式系列】简单工厂模式(四)
工厂模式(Factory Pattern)是一种创建型设计模式,其,而无需指定它们具体的类。这种模式隐藏了对象的创建细节,使得程序在判断对象类型时更加灵活。原创 2024-10-20 10:02:17 · 1189 阅读 · 0 评论 -
【设计模式系列】命令模式(三)
命令模式(Command Pattern)是一种行为设计模式,它将一个请求或简单操作封装为一个对象。这个模式提供了一种机制,使得你,对请求排队或记录请求日志,以及支持可撤销的操作。原创 2024-10-19 21:48:28 · 805 阅读 · 0 评论 -
【设计模式系列】装饰器模式(二)
装饰器模式是一种结构型设计模式,用于在不修改对象自身的基础上,通过创建一个或多个装饰类来给对象动态地添加功能。这种模式提供了一种灵活的替代继承的方法,可以在运行时根据需要添加或去除对象的功能。原创 2024-10-19 21:23:33 · 1402 阅读 · 0 评论 -
【设计模式系列】模板方法模式(一)
模板方法模式(Template Method Pattern)是一种行为型设计模式,它在父类中定义一个算法的框架,允许子类在不改变算法结构的情况下重写算法的某些特定步骤。这种模式非常适合于那些存在共同行为的类,但具体实现需要根据不同情况定制的场景。抽象类(Abstract Class):具体类(Concrete Class):钩子方法(Hook Method):模板方法(Template Method):代码复用: 当希望复用某个算法或操作的不同部分时,模板方法模式可以将通用的部分封装在父类中,而将变化的部原创 2024-10-13 21:17:52 · 1183 阅读 · 0 评论 -
【设计模式系列】总览
努力填完如下表格ing...原创 2024-11-02 17:55:23 · 732 阅读 · 0 评论
分享