
设计模式教程
文章平均质量分 92
设计模式是针对常见软件设计问题的经过尝试和充分测试的解决方案的工具包。每个设计模式都是一个模板或描述,提供了一种在面向对象的系统中构造类和对象的方法。本设计模式课程将教您为什么、如何以及何时在代码中使用设计模式。
新华
从事核电安全级仪控系统软件研发,目前正在研发安全级嵌入式实时操作系统......
展开
-
行为设计模式:中介者设计模式
调解器设计模式是一种行为设计模式。它是使用最广泛和最重要的设计模式类型之一。中介器设计模式通过添加中介器(即用于抑制它们之间直接交互的层)来分离对象,从而限制对象之间的直接通信,从而强制通过它进行通信。中介设计模式是行为设计模式中最重要的形式之一。中介器设计模式通过分离项目并添加中介器(即“阻碍它们之间直接交互的层”)来限制项目之间的直接连接,从而强制通过它进行通信。它解决了多个类之间的通信问题。中介器设计模式用于存在多个类的情况,并且由于它们依赖于其他组件而难以更改其行为或重用它们。原创 2024-01-12 05:30:00 · 851 阅读 · 0 评论 -
行为设计模式:迭代器设计模式
假设我们想要开发一个新的数据结构,它是一个集合,然后我们可以使用迭代器模式。如果有人想要使用数据结构,他们可以简单地使用您描述的迭代器,而不必在他们的代码中创建唯一的迭代器。即使你从未遇到过这些问题,识别模式也很有价值,因为它教会了你如何使用面向对象的设计概念来解决大量的问题。它是最后一个必需的参与者,负责 Aggregate 接口的实现。众所周知,迭代器是一种行为设计模式,它允许您遍历集合的组件,而无需显示下面的表示。当你的集合有一个复杂的数据结构,你希望对客户端隐藏,那么我们使用迭代器模式的概念。原创 2024-01-12 05:15:00 · 1775 阅读 · 0 评论 -
行为设计模式:命令设计模式
命令设计模式是一种行为设计模式(对象之间的通信模式),它将请求或操作转换为具有所有必需信息(例如调用什么方法、参数等)的对象。原创 2024-01-12 05:00:00 · 907 阅读 · 0 评论 -
行为设计模式:责任链设计模式
责任链设计模式是一种行为设计模式。行为模式是描述和识别不同对象之间交互的设计模式。它也被称为命令链设计模式。它利用链处理程序对象来处理客户端生成的请求。原创 2024-01-11 06:00:00 · 775 阅读 · 0 评论 -
结构设计模式:外观设计模式
外观设计模式是结构设计模式的一种。外观设计模式的主要目标是在复杂系统之前提供一个简单的界面。这样用户或客户端就可以访问简单的界面,而无需了解其子系统的复杂性。外观设计模式主要用于向用户隐藏系统中涉及的依赖关系。原创 2024-01-11 05:45:00 · 1690 阅读 · 0 评论 -
结构设计模式:代理设计模式
考虑到加载和显示图像的功能,我们决定创建一个图像接口,该接口定义了我们需要执行的一些常规操作,例如确定图像是否应该有边框,在屏幕上渲染和显示图像等。在我们的日常生活中处理软件应用程序时,并不总是能够加载或显示大量图像和视频文件,尤其是在处理资源有限的设备或低带宽的互联网连接时。代理充当客户端和真实对象之间的中介层,因此可以控制对真实对象的访问,添加其他功能,甚至限制客户端访问。现在,考虑一种情况,在这种情况下,客户端只想访问与图像相关的详细信息,即图像是否有边框以及图像中心的位置。原创 2024-01-11 05:30:00 · 934 阅读 · 0 评论 -
结构设计模式:享元设计模式(Flyweight)
所以我们需要170,00017 0,0 00字节 ( 170 170KB) 存储10,0001 0,0 0 0 内存中的。内在状态在所有对象之间共享,而外在状态对每个对象都是唯一的。但是,如果我们仔细观察,我们会在所有物体中存储相同的颜色和高度;它在第一次创建轻量级对象时缓存它,并为所有后续请求返回它。Flyweight 类包含跨多个对象共享的对象的。蝇量级设计模式中的内在状态和外在状态是什么?,轻量级对象将从缓存中返回,而不是再次创建。)存储在 Tree 对象中,将非共享状态(原创 2024-01-11 05:15:00 · 1752 阅读 · 0 评论 -
结构设计模式:装饰设计模式
在面向对象编程中,装饰器模式是一种结构设计模式,它允许将行为和功能动态添加到对象中,而不会影响同一类中其他对象的行为。由于它为现有类提供了包装器,因此装饰器设计模式也称为 Wrapper。为了实现包装器,此方法使用抽象类或具有组合的接口。装饰器类用于扩展基类的功能。装饰器设计模式是面向对象编程中的一种结构设计模式,它使行为和功能能够动态地扩展到对象,同时不影响同一类中的其他对象。装饰器类旨在升级基础类的功能。此技术使用具有组合的抽象类或接口来实现包装器。原创 2024-01-11 05:00:00 · 756 阅读 · 0 评论 -
行为设计模式:访问者设计模式
访客设计模式是一种行为设计模式,用于将逻辑/算法与其操作的对象解耦。逻辑被移动到称为visitors的单独类中。每个访客都负责执行特定的操作。原创 2024-01-10 06:00:00 · 860 阅读 · 0 评论 -
行为设计模式:模板方法设计模式
让我们知道这是如何工作的,抽象类提供了描述的模板或方式来在模板模式中运行其函数。我们将讨论一个现实生活中的解释,以简单的方式理解模板方法模式的概念。因此,Template 方法模式的关键是我们可以将基本逻辑放在抽象的父类中,并让子类描述规范。模板方法是一种行为设计模式,它允许程序员在基类中指定算法的框架,然后让子类在不影响算法的一般结构的情况下更改步骤。在此示例中,模板方法模式为简单策略视频游戏中的人工智能的各个分支提供了“骨架”。模板方法具体类 - 我们将使用模板方法设计的概念为教师编写代码。原创 2024-01-10 05:45:00 · 1570 阅读 · 0 评论 -
行为设计模式:策略设计模式
在有很多类的情况下,其中一些类在少数方法中具有相似的行为,并且将来你计划频繁更改此行为,策略模式将帮助你在代码中实现可重用性和可扩展性。请注意,我们可以将超类 MartialArt 抽象化,并在抽象类中指定 kick()、punch()、grab() 的默认实现。让我们假设这样做的基本功能是在超类中定义的。因此,如果后来我们决定 KungFy 战斗机需要一种称为旋转踢的新型踢腿,我们只需要将该策略传递给它的构造器;以下是面向对象设计的基本原则发挥作用的地方: 从保持不变的部分中抽象出代码中易受更改的部分。原创 2024-01-10 05:30:00 · 914 阅读 · 0 评论 -
行为设计模式:状态设计模式
状态设计模式属于行为设计模式的范畴。它用于允许对象根据其内部状态的变化修改其行为。它使对象的行为类似于有限状态机。它使对象可以灵活地更改其状态,而无需处理大量。状态模式确保了现有状态的性能与添加新状态之间的松散耦合。有限状态机是一种计算模型,它基于由一个或多个状态组成的假设机器。在特定时间,此计算机只能有一个状态处于活动状态。这意味着机器必须从一种状态过渡到另一种状态,以反映不同的行为。原创 2024-01-10 05:15:00 · 956 阅读 · 0 评论 -
行为设计模式:观察者设计模式
观察者设计模式属于行为设计模式的范畴。观察者模式在对象之间保持一对多关系,确保当一个对象的状态发生更改时,其所有依赖对象都会同时得到通知和更新。此设计模式也称为依赖项。主体和观察者(许多)存在于一对多关系中。在这里,观察者无法访问任何数据,因此他们依赖于受试者向他们提供信息。原创 2024-01-10 05:00:00 · 899 阅读 · 0 评论 -
结构设计模式:复合设计模式
软件工程中的复合模式是一种分区设计,将一组对象视为与相同对象类型的单个实例类似。它有助于创建代表部分-整体层次结构的树结构,使客户能够与单个对象和组合进行统一交互。此模式是 Gang of Four (GoF) 设计模式的一部分,旨在解决灵活且可重用的面向对象软件的反复出现的设计问题。具体来说,复合模式用于统一处理对象组,将它们组织成树结构,以说明部分和整个层次结构。这种结构模式增强了对象的实现、修改、测试和重用。原创 2024-01-09 06:00:00 · 694 阅读 · 0 评论 -
结构设计模式:桥梁设计模式
由于在这个桥式结构中,抽象和实现之间只有一个链接(对象组合链接),因此我们可以创建任意数量的具体抽象和任意数量的具体实现,而不会影响桥不变一侧的类层次结构。因此,在使用桥接设计模式时,如果我们希望在应用程序中添加一个新的视图,我们只需要创建一个新的具体抽象,而不是像继承方法那样创建几个子类(每个资源一个)。桥接设计模式可用于将单体类(包含多个无意义耦合的组件的大类)拆分为多个类层次结构,即当抽象和实现可以具有不同的独立类层次结构时,我们希望对客户端隐藏实现。)是我们的实现(对象的特定实现)。原创 2024-01-09 05:45:00 · 915 阅读 · 0 评论 -
结构设计模式:适配器设计模式
适配器设计模式是一种结构设计模式,也称为包装器设计模式。此设计模式充当两个不同接口之间的桥梁。它可以转换类的接口,使其与需要不同接口的客户端兼容,而无需更改类的源代码。原创 2024-01-09 05:30:00 · 913 阅读 · 0 评论 -
创意设计模式:单例设计模式
单例设计模式是一种创建设计模式,它确保一个类只有一个实例,并且所有其他类都可以全局访问。单例设计模式通过在应用程序之间共享单个实例来减少内存使用量。原创 2024-01-09 05:15:00 · 1728 阅读 · 0 评论 -
创意设计模式:原型设计模式
原型设计模式是创建性设计模式之一。它允许我们指定作为原始对象原型的对象。换句话说,它允许我们复制现有对象而不是创建新实例。在这里,我们将详细了解原型设计模式及其用法。原创 2024-01-09 05:00:00 · 1245 阅读 · 0 评论 -
创意设计模式:建造者设计模式
概述构建器设计模式是一种创建型设计模式,它允许我们逐步构造一个对象。它使用包含创建对象的构造步骤的构建器类。我们什么时候需要构建器设计模式?想象一下,我们想要构建接受客户详细信息并将其存储在数据库中的软件。向客户显示一个接受以下字段和字段的表单。理想情况下,我们创建一个具有上面列出的强制和可选属性的Customer类。我们创建一个接受上述属性的构造函数。由于某些属性是可选的,因此我们可能需要将空值传递给那些我们不想使用的属性。构建器设计模式允许我们逐步创建对象,而无需将所有值传递给构造函数。原创 2024-01-08 06:00:00 · 1795 阅读 · 0 评论 -
创意设计模式:抽象工厂设计模式
由于工厂模式允许我们创建一种或多种类型对象的通用工厂,因此扩展相同行为的抽象工厂设计模式允许我们创建工厂的工厂,比工厂设计模式中的抽象高一级。在这些类别中,有多个单独的产品或对象,例如,对于素食类别,有素食汉堡、素食披萨、素食面条、素食印度比尔亚尼菜、素食炸肉排等。在这里,我们将以车辆预订系统为例,其中我们将考虑 3 种类型的车辆(汽车、汽车和自行车),而不像上面所示的结构只有。的接口,它可以用作定义具体工厂的通用结构。,假设我们正在开发一个食品应用程序,可以在其中创建不同类型的食品,例如素食和非素食。原创 2024-01-08 05:45:00 · 1800 阅读 · 0 评论 -
创意设计模式:工厂设计模式
概述工厂设计模式是一种创建型设计模式,它将创建对象的逻辑与客户端代码分开。工厂设计模式中的工厂类负责根据客户端的请求创建对象。我们什么时候需要工厂设计模式?想象一下,您拥有一家即买即走的奶昔吧。顾客来到您的餐厅,通过向收银员付款来订购奶昔。收银员将订单传递到厨房,在那里准备奶昔。顾客和收银员与厨房解耦,厨房准备奶昔。我们有一个奶昔工厂(厨房),负责接收订单、准备并向我们提供奶昔。工厂设计模式将创建对象的责任委托给工厂类。工厂类有一个工厂方法,负责创建所请求的对象。这种设计模式也称为简单工厂模式。原创 2024-01-08 05:30:00 · 788 阅读 · 0 评论 -
设计模式:结构设计模式
本文讨论了使用组合将类和对象合并到更大结构中的各种结构模式,这有助于我们解决开发人员最有可能遇到的许多现实问题。什么是结构设计模式?结构设计模式是如何将不同的对象和类组合在一起形成更大的结构以共同实现多个目标的蓝图。结构设计中的模式展示了如何以可扩展和灵活的方式将系统的独特部分组合在一起。因此,借助结构设计模式,我们可以针对并更改结构的特定部分,而无需更改整个结构。结构设计模式的类型适配器模式桥梁图案复合图案装饰模式立面图案享元模式代理模式从...开始,适配器模式。原创 2024-01-08 05:15:00 · 1108 阅读 · 0 评论 -
设计模式:行为设计模式
由于组件之间的这种弱关联,松散耦合系统中的对象交互不如紧密耦合系统中的有效。但是,松散耦合系统中的对象更加独立和可重用,因为一个组件中所做的任何更改对另一组件的存在或性能的影响最小。行为设计模式提供了一组由软件先驱制定的指南,用于识别对象之间的常见通信模式,并提供解决软件设计中常见的。在面向对象的软件开发中,不同对象的行为决定了它们之间的关系,也决定了它们执行某项任务的能力。它封装了操作所需的所有信息,即,它将操作及其所需的参数包装在一个对象中。它用于将调用操作的对象与操作的对象分开。原创 2024-01-08 05:00:00 · 1121 阅读 · 0 评论 -
设计模式:创意设计模式
创建设计模式是专注于有效创建对象的设计模式。它们为软件设计带来了灵活性,并有助于现有代码的可重用性。创建设计模式主要有6种类型:工厂方法抽象工厂单例原型生成器和对象池模式。设计模式是指针对软件设计中常见场景的通用、可重用的解决方案。创建设计模式是专注于有效创建对象的设计模式。用最简单的术语来说,对象是通过实例化其对应的类来创建的。但在某些情况下,对象的性质会根据手头问题的性质而变化。这就是创建设计模式派上用场的地方。创建设计模式提供了对象创建机制,可降低设计中的复杂程度。原创 2024-01-07 06:00:00 · 838 阅读 · 1 评论 -
设计模式:设计模式的类型
因此,将创建与数据库的多个连接,因为类的每个实例都将具有不同的数据库连接。利用行为设计模式可以将复杂的软件设计流程图简化为类的各种对象之间的更简单的互连。我们的目标是理解每种设计模式的用法和目的,并选择最合适的一种,并将其作为手头软件问题的解决方案来实现。从本质上讲,软件设计模式是软件设计级别的解决方案,是为软件工程师经常遇到的重复性问题而创建的。它们并不建议对手头的软件问题进行直接的解决方案实现,而是可以根据问题需要使用的结构的概述。现在,您已经了解了设计模式的基本类型,此外,您将详细了解每种模式。原创 2024-01-07 05:45:00 · 883 阅读 · 0 评论 -
设计模式:什么是设计模式?
因此,设计模式被认为是面向对象软件设计的标准,即,如果你想使用最佳实践来构建一个面向对象的软件,那么你应该遵循软件设计模式。了解使用设计模式解决的问题,并确定您自己的开发工作中的类似问题。的作者观察到了面向对象软件设计中一些常见的问题,并针对这些反复出现的问题提出了一些描述性的解决方案。一旦为我们的软件应用程序确定了合适的设计模式,我们就可以尝试实现它,并在内部将其添加到我们的应用程序中,以提供可。存在差异,软件开发人员提供了各种独特的方法来构建解决特定问题的面向对象的软件应用程序。例如,桥接模式通过在。原创 2024-01-07 05:30:00 · 962 阅读 · 0 评论