- 博客(10)
- 收藏
- 关注
转载 Java 设计模式 --- 状态模式(State)
状态模式是一种强大的行为设计模式,它允许一个对象在其内部状态改变时改变它的行为。通过封装与状态相关的行为到独立的状态类中,并将请求委托给当前状态对象来执行,状态模式使得代码更加清晰、模块化,并易于维护和扩展。然而,状态模式也有其局限性。随着状态的增多,类的数量也会增多,可能导致系统变得复杂。此外,如果状态转换过于频繁或涉及复杂的业务逻辑,可能会带来性能开销或维护困难。因此,在选择使用状态模式时,需要仔细权衡其优缺点,并结合具体场景和需求进行决策。
2024-03-22 18:21:47
140
1
转载 C++编程——设计模式(策略模式)
策略模式(Strategy Pattern)是 C++ 中常用的一种行为设计模式,它能在运行时改变对象的行为。在策略模式中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为模式。在策略模式中,需要创建表示各种策略的对象和一个行为随着策略对象改变而改变的 Context 对象。策略对象更改 Context 对象的执行算法。在策略模式中,通常包括以下几个角色:(1)策略接口(Strategy Interface): 定义了一个策略的公共接口,所有具体的策略类都需要实现这个接口。
2024-03-15 01:40:37
556
1
原创 Base64、AES、MD5、HMACSHA256的加密解密
待加密的数据</param>/// <param name="encryptData">待加密的数据</param>/// <param name="encryptData">待加密的数据</param>/// <param name="encryptData">待加密的数据</param>/// <param name="source">待加密的明文</param>/// <param name="source">待加密的明文
2024-03-15 01:28:49
761
1
原创 设计模式 -- 建造者模式(Builder)
将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定。一些基本部件不会变,而其组合经常变化的时候。将变与不变分离开。建造者:创建和提供实例,导演:管理建造出来的实例的依赖关系。1、去肯德基,汉堡、可乐、薯条、炸鸡翅等是不变的,而其组合是经常变化的,生成出所谓的"套餐"。
2024-03-01 18:11:16
651
原创 Docker 学习理解
Docker 是一个开源的应用容器引擎,基于并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
2024-02-23 18:01:54
678
1
原创 状态机的深入理解与学习
关于状态机的一个极度确切的描述是:它是一个有向图形,由一组节点和一组相应的转移函数组成。状态机通过响应定义的一系列事件而"执行"。是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。也可以将状态机看成是一个控制中心,接受外部的事件信号进行状态转移,而状态转移也是在状态机初始化的时候就设置好了的。但实际业务中,我们不仅仅只是需要控制中心进行状态转移,还会需要进行一些业务的处理。
2023-12-15 11:31:53
2275
原创 设计模式之访问者模式(Visitor Pattern)
准确识别出Visitor实用的场景,如果一个对象结构不稳定决不可使用,不然在增删元素时改动将非常巨大。对象结构中的元素要可以迭代访问Visitor里一般存在与元素个数相同的visit方法。元素通过accept方法通过this将自己传递给了Visitor。注:1. visitor设计模式类似于升级版的策略模式,它们都属于行为型设计模式,用于解耦对象与其具体行为之间的关系。
2023-12-08 13:51:24
1433
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人