随笔分类 - Java
备忘录设计Memento Pattern-23种常用设计模式快速入门教程
摘要:1.备忘录设计模式定义 备忘录模式是一种行为型设计模式,其主要用于保存对象状态,以便在需要时恢复其先前的状态。该模式将对象状态封装到备忘录对象中,使得该对象的状态可以在不破坏其封装性的情况下被恢复。 备忘录模式由三个主要组件组成: 发起人(Originator):它是要保存状态的对象。它创建备忘录并
阅读全文
中介者模式Mediator Pattern-23种常用设计模式快速入门教程
摘要:1.中介者模式定义 中介者模式(Mediator Pattern)是一种行为型设计模式,它用于减少对象之间的直接依赖关系,从而降低耦合度。在中介者模式中,通过引入中介者对象,将系统中各个对象之间的交互行为集中到中介者对象中进行处理和调度,而不是让各个对象之间相互引用和交互。这样可以降低系统的复杂性,
阅读全文
组合设计模式Composite Pattern-23种常用设计模式快速入门教程
摘要:1.组合设计模式定义 组合设计模式(Composite Pattern)是一种结构型设计模式,它允许你将对象组合成树状结构,并且能够像处理独立对象一样处理组合对象。这种模式创建了一个包含自己对象组的类,该类提供了修改相同对象组的方式。 在组合模式中,有两个基本类型的对象:叶子对象和组合对象。组合对象
阅读全文
代理设计模式Proxy Pattern-23种常用设计模式快速入门教程
摘要:1.代理设计模式定义 代理设计模式是一种结构型设计模式,它允许通过创建代理对象来间接访问另一个对象,从而实现对原始对象的安全保护、 延迟加载、额外处理等功能。代理对象和原始对象都实现了相同的接口,因此客户端可以以相同的方式使用它们。代理对象扮 演着中间人的角色,控制客户端对原始对象的访问。代理模式一
阅读全文
装饰器模式Decorator Pattern-23种常用设计模式快速入门教程
摘要:1.装饰器模式定义 装饰器模式(Decorator Pattern)是一种结构型设计模式,它可以在不改变原有对象的基础上,动态地给对象添加新的职责和行为。 该模式的核心思想是以递归的方式,通过将对象包装在装饰器对象中,来不断添加新的行为和职责。装饰器模式的结构包括以下角色: Component(抽象
阅读全文
适配器设计模式Adapter Pattern-23种常用设计模式快速入门教程
摘要:1.适配器设计模式定义 适配器设计模式是一种结构型设计模式,其目的是将一个类的接口转换成客户端所期望的另一个接口。适配器模式通常用于解决两个不兼容接口之间的问题。适配器模式包含三个角色:目标接口、适配器和被适配者。其中,目标接口是客户端所期望的接口,适配器是实现目标接口并将请求转发给被适配者的类,被
阅读全文
访问者模式Visitor Pattern-23种常用设计模式快速入门教程
摘要:1.访问者模式定义 访问者模式是一种行为型设计模式,它可以让我们在不改变被访问者类的前提下定义一个新的操作。 它的主要目的是将操作从被访问者类中解耦出来,从而使被访问者和访问者之间的耦合度降低。 2.访问者模式优点 1)可以让我们实现可重用的访问者, 2)可以让被访问者维护所有的访问者的状态, 3)
阅读全文
工厂方法模式Factory Method Pattern-23种常用设计模式快速入门教程
摘要:1.工厂方法前言 在GOF出版的《设计模式》一书中将工厂模式分为两类:工厂方法模式(Factory Method)与抽象工厂模式(Abstract Factory)。将简单工厂模式(Simple Factory)看为工厂方法模式的一种特例,两者归为一类。 2.工厂方法模式定义 工厂方法模式是一种创建
阅读全文
模板方法模式Template Method Pattern-23种常用设计模式快速入门教程
摘要:1.模板方法模式定义 模板方法模式是一种行为型设计模式,它可以让我们定义一个算法的框架,而具体的实现步骤则由子类来实现。 2.模板方法模式优点 它可以让我们实现可拓展性和可维护性,它可以让我们把复杂的算法拆分成多个步骤,它可以让我们实现可重用的代码。 3.模板方法模式缺点 它可能会导致系统变得非常复
阅读全文
观察者模式Observer Pattern-23种常用设计模式快速入门教程
摘要:1.观察者模式定义 观察者模式是一种行为型设计模式,它可以让我们解耦被观察者和观察者之间的依赖关系,从而让我们可以更有效地控制被观察者的行为。 2.观察者模式优点 它可以让我们实现被观察者和观察者之间的松耦合,它可以让我们实现可拓展性和可维护性,它可以让我们实现可观察的状态的更新。 3.观察者模式缺
阅读全文
责任链模式Chain of Responsibility Pattern-23种常用设计模式快速入门教程
摘要:1.责任链模式定义 责任链模式是一种行为型设计模式,它可以让我们将请求的处理从一个对象链中的一个对象传递到另一个对象,直到请求被处理为止。 2.责任链模式优点 它可以让我们动态地改变请求的处理顺序,它可以让我们实现请求的可拓展性和可维护性,它可以让我们避免在系统中建立过多的if-else判断语句。
阅读全文
策略模式Strategy Pattern-23种常用设计模式快速入门教程
摘要:1.策略模式定义 策略模式是一种行为型设计模式,它可以让我们在不同环境中使用不同的算法来解决相同的问题。 2.策略模式优点 它可以让我们有效地组合不同的算法,它可以让我们实现算法的可拓展性和可维护性,它可以让我们更容易地切换不同的算法。 3.策略模式缺点 它可能会导致系统变得非常复杂,它可能会增加系
阅读全文
享元模式Flyweight Pattern-23种常用设计模式快速入门教程
摘要:1.享元模式定义 享元模式是一种结构型设计模式,它使用共享物件,用来尽可能减少内存中对象的数量,以减少内存开销和提高性能。 2.享元模式优点 它可以减少内存中对象的数量,从而减少内存开销,提高性能。 3.享元模式缺点 它将产生大量小对象,这些对象占用了更多的空间,而且实现享元模式的代码比较复杂,它把
阅读全文
外观模式Facade Pattern-23种常用设计模式快速入门教程
摘要:1.外观模式定义 外观模式是一种结构型设计模式,它为一组复杂的子系统提供一个统一的接口,用于访问子系统中的一组接口,从而简化了访问的复杂性。 2.外观模式优点 它可以减少系统的耦合性,提高灵活性,并简化系统的接口。 3.外观模式缺点 它不能很好地限制客户端直接使用子系统类,因为外观类没有把局部变量的
阅读全文
桥接模式Bridge Pattern-23种常用设计模式快速入门教程
摘要:1.桥接模式定义 桥接模式是一种结构型设计模式,它将抽象部分和它的实现部分分离,使它们都可以独立地变化。 2.桥接模式优点 它可以让抽象和实现部分变化,它可以提高系统的灵活性,它可以减少系统的复杂性。 3.桥接模式缺点 它会增加系统的理解难度和编程难度,因为它需要开发者具备两个不同的知识体系。 4.
阅读全文
访问者模式Visitor Pattern-23种常用设计模式快速入门教程
摘要:1.访问者模式定义 访问者模式是一种行为型设计模式,它可以让我们在不改变对象结构的情况下,定义作用于对象结构中不同类型元素的新操作。 2.访问者模式优点 它可以为一组类型提供一致的功能界面,它可以支持对类型的扩展,它可以支持多种不同的访问方式。 3.访问者模式缺点 它可能会导致系统变得非常复杂,它可
阅读全文
命令模式Command Pattern-23种常用设计模式快速入门教程
摘要:1.命令模式定义 命令模式是一种行为型设计模式,它将一个请求封装为一个对象,从而可以使用不同的请求对客户进行参数化,还可以支持撤销操作。 2命令模式优点 它可以将调用操作的对象和知道如何实现该操作的对象解耦,它支持撤销操作,它可以将一组操作组合在一起,它可以增加新的命令很容易。 3.命令模式缺点 它
阅读全文
迭代器模式Iterator Pattern-23种常用设计模式快速入门教程
摘要:1.迭代器模式定义 迭代器模式是一种行为型设计模式,它可以让我们在不暴露集合内部结构的情况下,对集合的元素进行遍历操作。 2.迭代器模式优点 它支持以不同的方式遍历一个集合,它支持对集合的多种遍历,它可以为遍历不同的集合提供统一的接口。 3.迭代器模式缺点 它的迭代行为是依赖于集合的内部结构而变化的
阅读全文
深入浅出分析设计模式的优点与缺点
摘要:一、简介 1.设计模式定义 设计模式是一组有用的解决方案,用于解决特定类型的软件设计问题。它们通常提供了一种抽象出来的方式,来表达应用程序中常见问题的解决方案,从而帮助开发者更有效地解决问题。设计模式的用途是帮助开发者解决软件设计问题,提高开发效率,降低开发成本,提高代码质量和可维护性,以及更好地管
阅读全文
原型模式(Prototype Pattern)-23种常用设计模式快速入门教程
摘要:1.原型模式定义 原型模式是一种创建型设计模式,它使用一个已经存在的实例作为原型,通过复制该原型来创建新的实例。 2.原型模式优点 它提供了一种简单的方式来创建复杂的对象,它可以减少系统中的类的数量。 3.原型模式缺点 它假定类的创建过程是可配置的,而这不是总是可能的。 4.原型模式示例代码 传统设
阅读全文