设计模式
文章平均质量分 90
Onism_DreamBoat
这个作者很懒,什么都没留下…
展开
-
行为型模式
行为型设计模式是面向对象编程中的一种模式,它关注的是对象之间的通信和协作,以实现特定的行为或任务。选择合适的模式取决于具体的设计需求和问题。行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或者对象之间怎样相互协作共同完成单个对象无法单独完成的任务,其设计算法与对象间职责的分配。:观察者模式用于定义对象之间的一对多依赖关系,当一个对象的状态发生变化时,所有依赖它的对象都会收到通知并自动更新。:备忘录模式用于捕获对象的内部状态,并在不破坏对象封装的前提下将其保存,以后可以将对象恢复到之前的状态。原创 2024-03-11 20:23:01 · 523 阅读 · 0 评论 -
解释器模式
解释器模式(Interpreter Pattern)是一种行为型设计模式,它用于定义一种语言的文法,并提供一个解释器来解释该语言中的表达式。这个模式主要用于解决问题领域中存在的特定语言或表达式的解释和执行问题。它将一个问题分解成一系列的表达式,并提供一个解释器来解释这些表达式。原创 2024-03-11 20:14:02 · 996 阅读 · 0 评论 -
备忘录模式
备忘录模式(Memento Pattern)是一种行为型设计模式,它用于捕获一个对象的内部状态,并在不破坏对象封装性的情况下将状态保存到外部,以便将来可以恢复对象到先前的状态。备忘录模式的核心思想是将状态保存和恢复的责任分离开来,以确保对象的封装性。这允许在不破坏对象封装性的情况下,实现状态的保存和恢复,从而提高了系统的可维护性和灵活性。原创 2024-03-04 19:41:04 · 1549 阅读 · 0 评论 -
访问者模式
访问者模式(Visitor Pattern)是一种行为型设计模式,它用于在不改变元素类的前提下,为元素的不同操作(访问)提供不同的处理方式。访问者模式将数据结构与数据操作分离,使得可以在不修改数据结构的情况下添加新的操作或访问方式。访问者模式的核心思想是引入一个访问者对象,该对象包含了一组访问操作,每个操作用于处理不同类型的元素。元素类会接受访问者对象,并将自身传递给访问者,让访问者根据元素的类型执行相应的操作。原创 2024-03-04 19:39:35 · 1186 阅读 · 0 评论 -
迭代器模式
迭代器模式(Iterator Pattern)是一种行为型设计模式,它用于提供一种访问和遍历聚合对象(例如列表、数组、集合等)元素的方式,而不需要暴露其内部结构。迭代器模式将迭代逻辑封装在一个独立的迭代器对象中,让客户端可以逐个遍历聚合对象的元素,同时保持对聚合对象的封装。原创 2024-03-04 19:33:46 · 523 阅读 · 0 评论 -
中介者模式
中介者模式(Mediator Pattern)是一种行为型设计模式,它用于减少对象之间的直接关联,以通过一个中介对象来协调和管理对象之间的交互。中介者模式促使对象之间的通信变得松散,从而提高系统的可维护性和可扩展性。中介者模式的核心思想是引入一个中介者对象,它负责管理对象之间的通信和协调它们的行为,而不是让对象直接相互通信。这有助于减少对象之间的耦合性,使系统更容易扩展和维护。原创 2024-03-04 19:16:06 · 764 阅读 · 0 评论 -
观察者模式
观察者模式(Observer Pattern)是一种行为型设计模式,它定义了一种一对多的依赖关系,允许一个对象(称为主题或被观察者)通知多个其他对象(称为观察者)自己的状态变化,从而使观察者能够自动更新。观察者模式的核心思想是将主题与观察者解耦,使主题可以独立变化而不影响观察者,同时使观察者可以自动获取主题的更新信息。这种模式有助于构建松耦合的系统,其中对象之间的关系是动态的。原创 2024-03-04 19:14:33 · 670 阅读 · 0 评论 -
状态 ( State ) 模式
状态模式(State Pattern)是一种行为型设计模式,它允许一个对象在其内部状态改变时改变其行为,使得对象看起来好像修改了其类。状态模式主要解决了对象在不同状态下的行为切换问题,使得状态转换的逻辑更加清晰和可维护。原创 2024-03-04 19:13:14 · 753 阅读 · 0 评论 -
责任链模式
责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,用于构建处理请求的对象链。在这个模式中,多个对象依次处理请求,直到其中一个对象能够处理请求为止,或者请求被完全处理。每个处理者对象都包含对下一个处理者对象的引用,形成一个链式结构。原创 2024-03-04 19:11:21 · 1037 阅读 · 0 评论 -
命令 ( Command ) 模式
命令模式(Command Pattern)是一种行为型设计模式,它将请求(命令)封装成一个对象,从而允许参数化客户端对象以传递请求,也允许将请求排队、记录请求日志以及支持可撤销的操作。使得发出请求的责任和执行请求的责任分割开。这样两者间通过命令对象进行沟通,这样方便将命令对象进行存储、传递、调用与管理。原创 2024-02-29 10:09:00 · 681 阅读 · 0 评论 -
策略 ( Strategy ) 模式
策略模式(Strategy Pattern)是一种行为型设计模式,它允许在运行时选择算法的行为,以使不同的算法可以互相替代。策略模式将算法封装成一系列的对象,每个对象都代表一个具体的算法,然后客户端代码可以在不修改其结构的情况下选择要使用的算法。:策略模式定义了一个策略接口,其中包含一个或多个算法方法的声明。这些方法通常不包含具体的实现,而是由具体策略类来实现。:具体策略类实现了策略接口,并提供了算法的具体实现。每个具体策略类代表了一种算法的变体,可以根据需要创建多个不同的具体策略类。原创 2024-02-29 10:07:14 · 484 阅读 · 0 评论 -
模版方法模式
抽象类是模板方法模式的核心组件之一。它定义了模板方法,该方法是算法的骨架,包含了算法的基本步骤。抽象类可能包含一个或多个抽象方法,这些方法由子类来实现,用于定制算法的特定步骤。抽象类可以包含一些具体方法,这些方法可以有默认实现,子类可以选择性地覆盖。原创 2024-02-29 10:05:46 · 799 阅读 · 0 评论 -
结构型模式
结构型设计模式是一类解决对象组合以形成更大、更复杂结构的设计问题的设计模式。这些模式涉及到对象的组合,以便形成更大的功能单元,同时保持这些对象之间的松耦合。这些结构型模式提供了不同的方法来处理对象之间的组合和接口问题,帮助开发人员构建更灵活、可维护和可扩展的软件系统。选择适当的结构型模式取决于设计需求和系统架构。原创 2024-02-29 10:02:39 · 606 阅读 · 0 评论 -
享元 ( Flyweight ) 模式
享元模式(Flyweight Pattern)是一种结构型设计模式,其主要目的是减少应用程序中相似对象的数量,从而节省内存或提高性能。这一模式的核心思想是共享对象,即将大量的相似对象中可复用的部分抽取出来,以节省系统资源。原创 2024-02-29 09:54:17 · 1010 阅读 · 0 评论 -
组合 ( Composite ) 模式
组合模式(Composite Pattern)是一种结构型设计模式,它允许将对象组合成树状结构以表示"部分-整体"的层次结构。这种模式使得客户端代码可以一致地处理单个对象和对象组合,而不必关心它们的具体类型。原创 2024-02-29 09:51:13 · 566 阅读 · 0 评论 -
外观 ( Facade ) 模式
外观模式(Facade Pattern)是一种结构型设计模式,它提供了一个简化复杂系统的接口,用于与系统交互。外观模式通过创建一个高级别的接口,将一组相关的子系统接口封装在一起,以提供更简单、更统一的接口给客户端使用。外观模式的核心思想是将复杂系统的内部结构隐藏起来,只暴露出一个简化的接口,使客户端可以更容易地与系统交互,而不必了解系统的复杂性。这有助于降低客户端与系统之间的耦合度,并提供了一种更高级别、更易用的界面。。原创 2024-02-29 09:49:31 · 607 阅读 · 0 评论 -
桥接模式(Bridge Pattern)
桥接模式是一种结构型设计模式,它的主要目的是将抽象部分和实现部分分离,以便它们可以独立地变化。桥接模式通过将抽象和实现分离来实现这一目标,使得两者可以在不相互影响的情况下进行扩展。桥接模式的关键思想是通过将抽象部分和实现部分分离,使得它们可以独立地扩展和变化。抽象部分和实现部分之间的连接由抽象部分中的引用建立,客户端通过抽象部分来与具体实现部分交互,实现了解耦合的目标。原创 2024-02-23 11:02:21 · 1038 阅读 · 0 评论 -
装饰器模式
装饰者模式(Decorator Pattern)是一种结构型设计模式,它允许在不修改现有对象代码的情况下,动态地将新行为或责任添加到对象上。这种模式通常被用于扩展一个对象的功能,而不是通过子类化来实现扩展。原创 2024-02-23 10:58:37 · 712 阅读 · 0 评论 -
适配器模式
适配器模式(Adapter Pattern)是一种常见的设计模式,它属于结构型设计模式,用于将一个类的接口转换成客户端所期望的另一个接口,从而使两者能够协同工作。适配器模式主要用于解决接口不兼容的问题,它允许不同接口的类协同工作,而不需要修改它们的源代码。原创 2024-02-23 10:55:15 · 1011 阅读 · 0 评论 -
代理模式(Proxy Pattern)
代理模式是一种结构型设计模式,用于控制对其他对象的访问。代理模式在访问对象时引入了一个代理对象,这个代理对象可以充当访问对象的接口,以控制对实际对象的访问。代理模式可以用于多种情况,包括延迟加载、访问控制、监视和远程代理等。原创 2024-02-23 10:52:50 · 1059 阅读 · 0 评论 -
创建型模式
创建型模式(Creational Design Patterns)是一种设计模式的分类,用于解决对象创建过程中的复杂性和灵活性问题。这些模式关注对象的创建机制,以确保系统在创建对象时能够以合适的方式进行管理。原创 2024-02-17 10:33:46 · 884 阅读 · 0 评论 -
抽象工厂模式
定义了一组创建相关对象的抽象接口,通常包括多个工厂方法,每个工厂方法负责创建一个具体对象。抽象工厂通常是一个接口或抽象类。原创 2024-02-17 10:25:54 · 834 阅读 · 0 评论 -
建造者模式
建造者模式(Builder Pattern)是一种创建型设计模式,它用于构建复杂对象,将对象的构建过程与其表示分离,这样可以创建不同类型的对象,而不必直接暴露对象的内部细节。这有助于简化对象的构建,提高可维护性,并允许灵活地配置对象的各个部分。由于实现了构建和装配的解耦。不同的构建器,相同的装配,也可以做出不同的对象;相同的构建器,不同的装配顺序也可以做出不同的对象。也就是实现了构建算法、装配算法的解耦,实现了更好的复用。建造者模式可以将部件和其组装过程分开,一步一步创建一 个复杂的对象。原创 2024-02-17 10:22:12 · 1379 阅读 · 0 评论 -
原型设计模式
原型模式(Prototype Pattern)是一种创建型设计模式,其主要目的是通过复制(克隆)现有对象来创建新对象,而无需显式地使用构造函数创建新对象。这种模式通常用于创建成本较高或复杂的对象,以避免重复的初始化工作。原创 2024-02-17 10:19:31 · 1113 阅读 · 0 评论 -
工厂设计模式
工厂模式(Factory Pattern)是一种创建型设计模式,用于创建对象的过程中将对象的创建和使用分离开来。它通过提供一个通用的接口来创建对象,而不需要暴露对象的具体实现细节。工厂模式有助于降低代码的耦合性,提高代码的可维护性和可扩展性。原创 2024-02-17 10:16:24 · 1044 阅读 · 0 评论 -
单例设计模式
单例设计模式是一种创建型设计模式,其主要目的是确保一个类只有一个实例,并提供全局访问点来访问该实例。这意味着无论在何处创建对象,都将获得相同的实例,确保系统中的唯一性。原创 2024-02-17 10:07:49 · 1092 阅读 · 0 评论 -
UML类图
类图(Class Diagram)是UML中最常用的一种图,用于表示软件系统中的类、接口、关联关系、属性和方法等元素,以及它们之间的静态结构。类图是一种静态结构图,它帮助开发者理解系统的设计和结构。类(Class)类是类图中的主要元素,用于表示系统中的对象类型。一个类包括类名、属性和方法。类名位于类图的顶部,通常以粗体显示。例如,“Person"或"Order”。属性表示类的特征或数据成员,通常显示为名称和类型,例如,"name: String"表示一个名为"name"的字符串属性。原创 2024-02-17 10:05:24 · 623 阅读 · 0 评论 -
软件设计原则
软件设计原则是一组指导性的准则和方法,旨在帮助开发人员创建高质量、可维护和可扩展的软件系统。在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可拓展性和灵活性,程序员要尽量根据六条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。原创 2024-02-15 23:19:54 · 1306 阅读 · 0 评论 -
设计模式概述
设计模式是在软件开发中用于解决常见问题的通用解决方案的重要概念。它们是经过反复验证和证明的,可以帮助开发人员设计更可维护、可扩展和可重用的代码的指导原则和范例。设计模式不是具体的代码片段或库,而是一种思维方式,用于解决特定类型的问题。原创 2024-02-15 20:48:53 · 906 阅读 · 0 评论