![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 93
cooldream2009
喜欢写代码,也喜欢和写代码的朋友一起探讨问题,分享收获,共同成长。
展开
-
软件设计模式系列之二十五——访问者模式
访问者模式(Visitor Pattern)是一种强大的行为型设计模式,它允许你在不改变被访问对象的类的前提下,定义新的操作和行为。本文将详细介绍访问者模式,包括其定义、举例说明、结构、实现步骤、Java代码实现、典型应用场景、优缺点、类似模式以及最后的小结。原创 2023-10-05 08:00:16 · 1796 阅读 · 2 评论 -
软件设计模式系列之二十四——模板方法模式
在软件设计领域,设计模式是一组被反复使用、多次实践验证的经典问题解决方案。其中,模板方法模式是一种行为型设计模式,用于定义一个算法的骨架,将算法中的某些步骤延迟到子类中实现,从而使子类可以重新定义算法的某些特定步骤,同时保持算法的整体结构不变。本文将深入探讨模板方法模式,包括其定义、举例、结构、实现步骤、代码实现、典型应用场景、优缺点、类似模式以及一个小结。原创 2023-10-04 07:15:00 · 886 阅读 · 0 评论 -
软件设计模式系列之二十三——策略模式
策略模式(Strategy Pattern)是一种行为型设计模式,它允许在运行时动态选择算法的行为。这意味着你可以定义一系列算法,将它们封装成独立的策略对象,然后根据需要在不修改客户端代码的情况下切换这些算法。策略模式有助于解决问题领域中不同行为的变化和扩展,同时保持代码的灵活性和可维护性。原创 2023-10-03 07:15:00 · 738 阅读 · 0 评论 -
软件设计模式系列之二十二——状态模式
状态模式是一种行为型设计模式,它允许对象在内部状态发生改变时改变其行为,使得对象的行为看起来像是改变了其类。状态模式将对象的状态抽象成一个独立的类,让对象在不同状态下具有不同的行为,而且可以在运行时切换状态。这种方式使得状态的管理更加清晰,避免了大量的条件判断语句,提高了代码的可维护性和可扩展性。原创 2023-10-02 06:18:38 · 235 阅读 · 0 评论 -
软件设计模式系列之二十一——观察者模式
观察者模式(Observer Pattern)是一种行为型设计模式,它允许对象之间建立一对多的依赖关系,当一个对象的状态发生变化时,所有依赖于它的对象都会得到通知并自动更新。这个模式也被称为发布-订阅模式,因为它模拟了一个主题(发布者)与多个观察者(订阅者)之间的关系。观察者模式主要用于实现对象之间的解耦,使得被观察者(主题)和观察者之间的交互更加灵活。它是一种广泛应用于软件开发中的设计模式,常见于图形界面开发、事件处理系统和分布式系统中。原创 2023-10-01 05:47:35 · 961 阅读 · 0 评论 -
软件设计模式系列之二十——备忘录模式
备忘录模式是一种行为型设计模式,它允许我们在不暴露对象内部细节的情况下捕获和恢复对象的内部状态。这个模式非常有用,因为它可以帮助我们实现撤销、恢复和历史记录等功能。在本文中,我们将深入探讨备忘录模式的各个方面,包括定义、示例、结构、实现步骤、代码实现、典型应用场景、优缺点、类似模式以及小结。原创 2023-09-30 15:57:22 · 711 阅读 · 0 评论 -
软件设计模式系列之十九——中介者模式
中介者模式是一种行为型设计模式,它用于降低对象之间的直接通信,通过引入一个中介者对象来管理对象之间的交互。这种模式有助于减少对象之间的耦合性,使系统更加可维护和扩展。中介者模式是Gang of Four(GoF)设计模式中的一员,旨在促进对象之间的松耦合关系,从而提高系统的灵活性。原创 2023-09-29 07:00:03 · 222 阅读 · 0 评论 -
软件设计模式系列之十八——迭代器模式
迭代器模式是一种行为型设计模式,它允许客户端逐个访问一个聚合对象中的元素,而不暴露该对象的内部表示。迭代器模式提供了一种统一的方式来遍历不同类型的集合,使客户端代码更加简洁和可复用。原创 2023-09-28 09:04:06 · 769 阅读 · 1 评论 -
软件设计模式系列之十七——解释器模式
解释器模式是一种行为型设计模式,它用于将一种语言或表达式解释为对象。该模式通过定义语言的文法规则,并使用解释器来解释和执行这些规则,将复杂的语言转换为对象的操作。原创 2023-09-27 09:06:43 · 514 阅读 · 0 评论 -
软件设计模式系列之十六——命令模式
命令模式(Command Pattern)是一种行为型设计模式,旨在将请求发送者和接收者解耦,将一个请求封装为一个对象,从而允许您参数化客户端对象以进行不同的请求、排队请求或记录请求,并支持可撤销操作。命令模式的核心思想是将一个请求包装成一个对象,包括请求的参数和接收者对象,然后客户端只需要调用该对象的方法来执行请求,而不需要关心请求的具体细节。这种方式使得请求的发送者和接收者之间的关系变得松耦合,同时支持一些附加功能,如命令的撤销和重做。原创 2023-09-26 09:16:03 · 508 阅读 · 0 评论 -
软件设计模式系列之十五——职责链模式
职责链模式(Chain of Responsibility Pattern)也称为责任链模式,是一种结构型设计模式,用于构建一条对象处理请求的责任链。在这个模式中,多个对象依次处理请求,直到其中一个对象能够处理该请求为止。职责链模式将请求的发送者和接收者解耦,允许多个对象都有机会处理请求,同时可以动态地配置责任链的顺序和组成。原创 2023-09-25 10:08:57 · 282 阅读 · 0 评论 -
软件设计模式系列之十四——代理模式
代理模式是一种结构型设计模式,它允许一个对象(代理)充当另一个对象的接口,以控制对该对象的访问。代理模式通常用于控制对真实对象的访问,以实现一些额外的功能,例如延迟加载、权限控制、日志记录等。这种模式属于结构型设计模式,因为它关注对象之间的组合,以形成更大的结构。原创 2023-09-24 13:51:07 · 532 阅读 · 0 评论 -
软件设计模式系列之十三——享元模式
享元模式(Flyweight Pattern)是一种结构型设计模式,它旨在减少内存占用或计算开销,通过共享大量细粒度对象来提高系统的性能。这种模式适用于存在大量相似对象实例,但它们的状态可以外部化(extrinsic),并且可以在多个对象之间共享的情况。原创 2023-09-23 06:53:16 · 250 阅读 · 0 评论 -
软件设计模式系列之十二——外观模式
外观模式(Facade Pattern)是一种结构型设计模式,它提供一个统一的界面,用于访问系统中的一组相关接口,从而隐藏了系统的复杂性。在本文中,我们将深入探讨外观模式,包括其定义、举例说明、结构、实现步骤、代码实现、典型应用场景、优缺点、类似模式以及最后的小结。原创 2023-09-22 10:02:23 · 694 阅读 · 0 评论 -
软件设计模式系列之十一——装饰模式
装饰模式属于结构型设计模式,它通过将对象包装在装饰器类中来动态地添加额外的行为,而不需要修改原始对象的代码。这个模式以透明的方式向对象添加功能,从而使您可以根据需要组合各种功能。原创 2023-09-21 09:54:42 · 363 阅读 · 0 评论 -
软件设计模式系列之十——组合模式
组合模式是一种结构型设计模式,用于将对象组合成树形结构以表示部分-整体层次结构。这个模式允许客户端以一致的方式处理单个对象和对象组合,因此它将单个对象和组合对象视为可互换的。原创 2023-09-20 10:07:21 · 252 阅读 · 0 评论 -
软件设计模式系列之九——桥接模式
桥接模式是一种结构型设计模式,它用于将抽象部分与其实现部分分离,以便它们可以独立地变化。这种模式涉及一个接口,它充当一个桥,使得具体类可以在不影响客户端代码的情况下改变。桥接模式将继承关系转化为组合关系,从而减少类之间的紧密耦合度,使得系统更加灵活和可扩展。原创 2023-09-19 07:10:49 · 436 阅读 · 0 评论 -
软件设计模式系列之八——适配器模式
适配器模式(Adapter Pattern)是一种结构性设计模式,它允许将一个类的接口转换成客户端希望的另一个接口。适配器模式通常用于解决两个不兼容接口之间的兼容性问题,使得不同接口的类可以一起工作。这个模式涉及一个称为适配器的类,它充当两个不同接口之间的桥梁,使得它们可以协同工作。原创 2023-09-18 07:45:00 · 177 阅读 · 0 评论 -
软件设计模式系列之七——原型模式
原型模式(Prototype Pattern)是一种创建型设计模式,其主要目的是通过复制现有对象来创建新对象,而不是使用构造函数。原型模式将对象的创建委托给原型对象,通过克隆(复制)来生成新对象,这种方式可以避免对象的重复初始化,提高性能,并使对象的创建更加灵活和动态。原创 2023-09-17 07:58:19 · 336 阅读 · 0 评论 -
软件设计模式系列之六——单例模式
单例模式(Singleton Pattern)是一种常见的创建型设计模式,其主要目的是确保一个类只有一个实例,并提供一个全局访问点来获取该实例。这意味着无论何时何地,只要需要该类的实例,都会返回同一个实例,而不是创建多个相同的实例。原创 2023-09-15 12:44:12 · 610 阅读 · 0 评论 -
软件设计模式系列之五——建造者模式
建造者模式是一种对象创建型设计模式,它将一个复杂对象的构建过程与其表示分离。这意味着你可以使用相同的构建过程来创建不同类型的对象,而不必关心每个对象的内部细节。原创 2023-09-14 18:36:27 · 557 阅读 · 0 评论 -
软件设计模式系列之四——简单工厂模式
简单工厂模式(Simple Factory Pattern)是一种创建型设计模式,用于对象的创建,它属于工厂模式的一种。简单工厂模式的主要目标是封装对象的创建过程,使客户端代码与具体类的实例化解耦,从而提高代码的可维护性和可扩展性。原创 2023-09-13 07:10:33 · 520 阅读 · 0 评论 -
软件设计模式系列之三———工厂方法模式
工厂方法模式是一种常见的设计模式,属于创建型设计模式之一,它在软件工程中用于对象的创建。该模式的主要思想是将对象的创建过程抽象化,将具体对象的实例化延迟到子类中完成,以便在不同情况下可以创建不同类型的对象,而客户端代码不需要知道实际创建的对象类型。原创 2023-09-12 11:01:15 · 597 阅读 · 0 评论 -
软件设计模式系列之二——抽象工厂模式
抽象工厂模式是一种创建型设计模式,它提供了一种创建一组相关或相互依赖对象的方式,而无需指定它们的具体类。该模式以一组抽象接口为核心,包括抽象工厂接口和一组抽象产品接口,每个具体工厂类负责创建特定产品家族,保证这些产品之间的兼容性。原创 2023-09-08 11:47:10 · 674 阅读 · 0 评论 -
软件设计模式系列之一——设计模式概述
软件设计模式就是在进行软件开发的过程中,需要遵循的一些套路,这些套路经过了实践的检验,针对不同的设计场景,采用不同的设计模式,可以很好的解决相应的问题。原创 2023-09-05 10:29:34 · 967 阅读 · 0 评论