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

博主头像 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定义了一组 ...

什么是函数回调

博主头像 什么是函数回调? 介绍 函数回调是一种编程概念,它描述的是这样一个过程:一个函数(称为回调函数)作为参数传递给另一个函数(称为调用函数),当满足一定条件或者在某个特定时刻,调用函数会调用传递过来的回调函数。这种机制允许程序员在编写代码时,能够在不同的上下文中重用函数,同时也能实现异步处理、事件驱动编 ...

[设计模式]创建型模式-抽象工厂模式

博主头像 简介 抽象工厂模式是一种创建型设计模式,它提供了一种创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。抽象工厂模式将一组具有共同主题的单个工厂封装起来,它提供接口用于创建相关或依赖对象的家族,而不需要指定具体的类。 抽象工厂模式包含以下几个核心角色: 抽象工厂(Abstract Facto ...

我们在SqlSugar开发框架中,用到的一些设计模式

博主头像 我们在《SqlSugar开发框架》中,有时候都会根据一些需要引入一些设计模式,主要的目的是为了解决问题提供便利和代码重用等目的。而不是为用而用,我们的目的是解决问题,并在一定的场景下以水到渠成的方式处理。不过引入任何的设计模式,都会增加一定的学习难度,除非是自己本身领会比较好了,就会显得轻松一些。本... ...

[设计模式]创建型模式-简单工厂模式

博主头像 简介 简单工厂模式又称为静态工厂模式,属于创建型模式,但不属于GOF23设计模式。由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。 简单工厂适用场景:工厂类负责创建的对象比较少;客户端只需要知道传入工厂类的参数,对于如何创建对 ...

123···6>