刷新
软件设计模式系列之十四——代理模式

代理模式是一种结构型设计模式,它允许一个对象(代理)充当另一个对象的接口,以控制对该对象的访问。代理模式通常用于控制对真实对象的访问,以实现一些额外的功能,例如延迟加载、权限控制、日志记录等。这种模式属于结构型设计模式,因为它关注对象之间的组合,以形成更大的结构。 ...

软件设计模式系列之十三——享元模式

享元模式(Flyweight Pattern)是一种结构型设计模式,它旨在减少内存占用或计算开销,通过共享大量细粒度对象来提高系统的性能。这种模式适用于存在大量相似对象实例,但它们的状态可以外部化(extrinsic),并且可以在多个对象之间共享的情况。 ...

软件设计模式系列之十二——外观模式

外观模式是一种结构型设计模式,它提供了一个简化的接口,用于访问系统中的一组相关接口,以隐藏系统的复杂性。外观模式的主要目标是简化客户端与子系统之间的交互,同时降低了系统的耦合度。它允许客户端通过一个统一的入口点来与系统进行通信,而不需要了解系统内部的具体细节和复杂性 ...

软件设计模式系列之十——组合模式

组合模式是一种结构型设计模式,用于将对象组合成树形结构以表示部分-整体层次结构。这个模式允许客户端以一致的方式处理单个对象和对象组合,因此它将单个对象和组合对象视为可互换的。 组合模式允许你将对象组合成树状结构来表示"部分-整体"的层次结构。组合模式使得客户端可以统一地处理单个对象和组合对象,无需关... ...

设计模式

博主头像 设计模式 学习推荐设计模式目录:22种设计模式 (refactoringguru.cn) 图说设计模式 — Graphic Design Patterns (design-patterns.readthedocs.io) UML类图初见 什么是统一建模语言(UML)? (visual-paradig ...

软件设计模式系列之九——桥接模式

桥接模式是一种结构型设计模式,它用于将抽象部分与其实现部分分离,以便它们可以独立地变化。这种模式涉及一个接口,它充当一个桥,使得具体类可以在不影响客户端代码的情况下改变。桥接模式将继承关系转化为组合关系,从而减少类之间的紧密耦合度,使得系统更加灵活和可扩展。 ...

设计模式(六)适配器

博主头像 一、定义 将一个类的接口转换成客户希望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作。适配器模式是一种结构型模式。 二、描述 包含以下三个角色: 1、Target(目标抽象类):目标抽象类定义了客户所需要的接口,可以是一个抽象类或接口,也可以是一个具体的类,由于C#不支持多继承,所以它只能 ...

软件设计模式系列之八——适配器模式

适配器模式(Adapter Pattern)是一种结构性设计模式,它允许将一个类的接口转换成客户端希望的另一个接口。适配器模式通常用于解决两个不兼容接口之间的兼容性问题,使得不同接口的类可以一起工作。这个模式涉及一个称为适配器的类,它充当两个不同接口之间的桥梁,使得它们可以协同工作。 ...

软件设计模式系列之七——原型模式

原型模式(Prototype Pattern)是一种创建型设计模式,其主要目的是通过复制现有对象来创建新对象,而不是使用构造函数。原型模式将对象的创建委托给原型对象,通过克隆(复制)来生成新对象,这种方式可以避免对象的重复初始化,提高性能,并使对象的创建更加灵活和动态。 ...

工厂模式之工厂方法模式

大家好,欢迎来到程序视点! 前言 在上一节的简单工厂模式中,我们知道简单工厂所能创建的类只能是事先考虑到的,如果需要添加新的类,则就需要改变工厂类了。 也就是说,类的创建依赖工厂类,如果想要拓展程序(添加新的类),必须对工厂类进行修改。这违背了开闭原则。 从设计角度考虑,有一定的问题,如何解决? 既 ...

适配器模式

博主头像 适配器模式 基本介绍 1.适配器模式(Adapter Pattern)将某个类的接口(方法)转换成客户期望的另一个接口(方法)表示,主要目的是兼容性,让原本因为方法不匹配的,不能一起工作的两个类可以协同工作。别名叫包装器(Wrapper)。 2.适配器模式属于结构模式。 3.主要有三种形式,类适配器 ...

设计模式(五)原型

博主头像 ##一、定义 **使用原型实例指定待创建对象的类型,并且通过复制这个原型来创建新的对象。原型模式是一种创建型模式。** ##二、描述 **包含以下三个角色:** ![](https://img2023.cnblogs.com/blog/1780813/202305/1780813-202305271 ...

程序员必须要知道的编程范式,你掌握了吗?

博主头像 本文给大家介绍了什么是"编程范式",选择合适的编程范式可以提高代码的可读性、可维护性和可扩展性。 一、 什么是编程范式? "编程范式"是一种编程思想的总称,它是指在编写程序时所采用的基本方法和规范。常见的编程范式有面向对象、函数式、逻辑式等。 选择合适的编程范式可以提高代码的可读性、可维护性和可扩展 ...

学习笔记-设计模式-创建型模式-工厂模式

博主头像 ### 工厂模式 工厂模式是一种创建者设计模式,细分之下可以分成三类`简单工厂模式`,`工厂方法模式`和`抽象工厂模式`。 #### 简单工厂模式 最简单的工厂模式,它采用静态方法的方式来决定应该应该生产什么商品。 ```java public class StoreFactory { public ...

c++单例模式总结

博主头像 分类 懒汉式:实例对象在第一次被使用时才进行初始化。 饿汉式:实例在定义时就被初始化。 特点 1、构造函数和析构函数私有化,不允许外部创建实例对象。 2、拷贝构造函数和复制运算符重载被delete,不允许产生新的实例。 3、内部定义一个私有的静态数据成员,该成员为本类的实例化对象。 4、提供公有静态 ...

设计模式(四)建造者

博主头像 ##一、定义 **讲一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式是一种创建型模式。** ##二、描述 **包含以下四个角色:** ![](https://img2023.cnblogs.com/blog/1780813/202305/1780813-202305 ...

设计模式(三)抽象工厂

博主头像 ##一、定义 **提供一个创建一系列相关或互相依赖对象的接口,而无须指定他们具体的类,抽象工厂模式是一种创建型模式。** ##二、描述 **抽象工厂比工厂方法的抽象程度更高,通过引入了工厂等级结构,解决了简单工厂模式中工厂类职责太重的原则。为了更好的理解抽象工厂模式,引入两个概念:** **1、产品 ...

设计模式(二)工厂方法

博主头像 ##一、前言 **工厂模式常见的词:简单工厂、工厂方法、抽象工厂。简单工厂不属于23种经典设计模式,但通常将它作为学习其他工厂模式的基础。** ##二、简单工厂 ###1、定义 **定义一个工厂类,它可以根据参数的不同返回不同类型的实例,被创建的实例通常都具有共同的父类。由于简单的工厂模式中用于创建 ...

状态机的介绍和使用

博主头像 一、状态机简介 1.1 定义 我们先来给出状态机的基本定义。一句话: 状态机是有限状态自动机的简称,是现实事物运行规则抽象而成的一个数学模型。 先来解释什么是“状态”( State )。现实事物是有不同状态的,例如一个自动门,就有 open 和 closed 两种状态。我们通常所说的状态机是有限状态 ...

<1···456>