刷新
设计模式之适配器模式(学习笔记)

博主头像 定义 适配器模式是一种结构型设计模式,它允许将一个类的接口转换为客户端希望的另一个接口。适配器使得原本由于接口不兼容而不能一起工作的类可以协同工作。通过创建适配器类,可以将现有类的接口转换成目标接口,从而使这些类能够在一起工作。 为什么使用适配器模式 兼容性 适配器模式能够解决由于接口不兼容而无法直 ...

设计模式之抽象工厂模式(学习笔记)

博主头像 定义 抽象工厂模式是一种创建型设计模式,它提供一个接口,用于创建一系列相关或依赖的对象,而无需指定它们的具体类。抽象工厂模式将对象的创建过程抽象化,允许子类通过实现具体工厂类来定制对象的创建。 为什么使用抽象工厂模式 产品族的一致性 抽象工厂模式确保同一产品族中的对象之间的一致性。 部分遵循开闭原则 ...

设计模式之工厂模式(学习笔记)

博主头像 定义 工厂方法模式是一种创建型设计模式,它定义了一个用于创建对象的接口,但由子类来决定实例化哪一个类。工厂方法使得类的实例化延迟到子类,这样可以让客户端在不需要知道具体类的情况下创建对象。工厂方法模式通过使用继承和多态性,允许子类来控制对象的创建方式,能够更好地应对对象创建的复杂性和变化性。 为什么 ...

设计模式之简单工厂模式(学习笔记)

博主头像 定义 简单工厂模式(Simple Factory Pattern)是一种创建型设计模式,它定义一个用于创建对象的接口,但由一个单独的类来实现实际创建的工作。简单工厂模式通过在一个类中集中管理对象的创建过程,可以减少客户端与具体类之间的耦合,使得代码结构更加清晰和易于维护。通过专门定义一个类来负责创建 ...

设计模式:代理模式详解

博主头像 需求场景 按着惯例,还是以一个应用场景作为代理模式的切入点。现在有一个订单系统,要求是:一旦订单被创建,只有订单的创建人才可以修改订单中的数据,其他人则不能修改。 基本实现思路 按着最直白的思路,就是查询数据库中订单的创建人和当前Session中的登录账号ID是否一致。 class Order { ...

设计模式之装饰模式(学习笔记)

博主头像 定义 装饰模式(Decorator Pattern),又称为包装模式,是一种结构型设计模式。它允许在不改变现有对象结构的情况下,动态地添加新的功能。通过将每个功能封装在单独的装饰器类中,并且这些装饰器类通过引用原始对象来实现功能的组合,从而提供了灵活性和可扩展性的优势。装饰模式避免了通过继承方式增加 ...

常用设计模式总结,附完整图解

博主头像 UML类图 类图定义规则 属性和方法前加上(+、-、#、留空)分别代表:公开(public)、私有(private)、保护(protected)、缺省(default) 方法括号内为参数类型,冒号后为返回值类型 下划线表示 静态(static),斜体表示 抽象(abstract) 类图关系表示法 其 ...

心跳包

博主头像 什么是心跳包(心跳机制) 先看一下wiki上的说法: 心跳包(英语:Heartbeat)在计算机科学中指一种周期性的信号,通过硬件或软件的形式来检测行为的正常与否,或者与计算机系统是否一致。[1] 通常,机器间会每隔几秒钟发送一次心跳包。 如果接收终端没有在指定时间内(通常是几个心跳包发送的时间间隔 ...

[设计模式]行为型模式-观察者模式

博主头像 前言 观察者模式(Observer Pattern)是一种行为型设计模式,它定义了一种一对多的依赖关系,当一个对象的状态发生改变时,其所有依赖者都会收到通知并自动更新。 在观察者模式中,有两种主要的角色: 观察者(Observer):观察者是一个接口或抽象类,它定义了一个更新的接口,使得被观察者在状 ...

七种常见的面向对象设计原则

博主头像 设计原则名称 定义 使用频率 单一职责原则 一个类只负责一个功能领域中的相应职责 四颗星 开闭原则 软件实体应对扩展开发,而对修改关闭 五颗星 里氏代换原则 所有引用基类对象的地方能够透明地使用其子类的对象 五颗星 依赖倒转原则 抽象不应该依赖于细节,细节应该依赖于抽象 五颗星 接口隔离原则 使用多 ...

GoF之工厂模式

博主头像 GoF之工厂模式 @目录GoF之工厂模式每博一文案1. 简单说明“23种设计模式”1.2 介绍工厂模式的三种形态1.3 简单工厂模式(静态工厂模式)1.3.1 简单工厂模式的优缺点:1.4 工厂方法模式1.4.1 工厂方法模式的优缺点:1.5 抽象工厂模式1.6 抽象工厂模式的优缺点:2. 总结:3 ...

软件工程基础-实验一-原型设计-作家助手

博主头像 实验要求一:对比分析 对比分析墨刀、Axure、Mockplus等原型设计工具的各自的适用领域及优缺点。 一丶墨刀 墨刀是一款在线的产品设计协作软件,可以解决产设研团队中存在的项目管理权限不明、版本管理混乱、协作低效等诸多问题。 优点: 功能强大:可满足产品经理、设计师、开发在产品设计和团队协作上的 ...

Spring 中的发布-订阅模式

博主头像 发布订阅模式是怎样的? 现在市面上流行的很多消息中间件就是采用的该种模式,这种模式 在实际业务中 将 事件发布者(Publisher) 与 事件订阅者 (Subscriber)通过额外的事件通道(Event Channel)来解耦,其基本原理与先前提到的观察者模式有些许类似,但发布订阅模式额外存在了 ...

java 适配器模式

博主头像 适配器模式(Adapter Pattern) 结构型设计模式,见名知意,就是两个不兼容的接口之间的桥梁。它结合了两个独立接口的功能。 主要解决:常常要将一些"现存的对象"放到新的环境中,而新环境要求的接口是现对象不能满足的。 关键代码:适配器继承或依赖已有的对象,实现想要的目标接口。 优点: 1、可 ...

java 策略模式

博主头像 策略模式(Strategy Pattern) 指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。将每个算法封装在独立的类中,使得它们可以互相替换。可以在运行时根据需要选择不同的算法,而不需要修改客户端代码。 主要解决:在有多种算法相似的情况下,使用 if...else 所带来的复杂和难以 ...

java 单例模式

博主头像 单例模式(Singleton Pattern) 是 Java 中最简单的设计模式之一,这种类型的设计模式属于创建型模式。目的是确保一个类只有一个实例,并提供一个全局访问点来获取这个实例。这样做可以节省系统资源,并且保证某些类在系统中只存在一个实例。 主要解决:一个全局使用的类频繁地创建与销毁。 如何 ...

java 抽象工厂模式

博主头像 抽象工厂模式(Abstract Factory Pattern): 是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工 ...

设计模式学习(一)单例模式补充——单例模式析构

博主头像 目录前言无法调用析构函数的原因改进方法内嵌回收类智能指针局部静态变量参考文章 前言 在《单例模式学习》中提到了,在单例对象是通过new关键字动态分配在堆上的情况下,当程序退出时,不会通过C++的RAII机制自动调用其析构函数。本文讨论一下这种现象的原因以及解决方法。 无法调用析构函数的原因 在DCL ...

设计模式学习(一)单例模式的几种实现方式

博主头像 目录前言饿汉式懒汉式懒汉式DCLP局部静态式(Meyers' Singleton)单例模板参考文章 前言 单例模式,其核心目标是确保在程序运行的过程中,有且只有存在一个实例才能保证他们的逻辑正确性以及良好的效率。因此单例模式的实现思路就是确保一个类有且只有一个实例,并提供一个该实例的全局访问点。 单 ...

C语言中抽象函数与具体实现的命名与组织

博主头像 C语言中抽象函数与具体实现的命名与组织 在C语言的项目开发中,尤其是嵌入式系统和开源软件项目里,合理地命名和组织抽象函数及其具体实现对于提高代码的可读性、可维护性和可扩展性至关重要。以下是关于如何在这些项目中有效地处理抽象和实现的一些建议: 抽象函数与具体实现的区分 API作为接口:API定义了一组 ...

<1···345>