设计模式

世洋Blog10 小时前
unity·设计模式·c#·装饰器模式
装饰器模式实践:告别臃肿的继承链,优雅解耦初始化状态管理让一个类有一个Init方法,并且类的其他方法中,都要确定类被初始化后才走逻辑,否则直接返回。角色上有一个顶层控制器CharacterController类。
syt_101311 小时前
javascript·单例模式·设计模式
设计模式之-工厂模式1.工厂模式同样是属于创建型模式的一种。 2.定义:在创建对象的时候,不会对客户端暴露具体的创建逻辑,通过工厂所提供的一个统一的接口来得到对象。 3.在工厂模式里面,主要涉及到两个概念(角色): 3.1工厂:该角色负责创建具体的对象,对外部隐藏了具体的创建逻辑 3.2产品:通过调用工厂给客户端提供的接口,所得到的对象 4.整个工厂模式有三种变体: 简单工厂模式 工厂方法模式 抽象工厂模式
syt_101314 小时前
设计模式·装饰器模式
设计模式之-装饰器模式装饰器模式 1.核心:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰器模式比生成子类更加灵活
看见繁华15 小时前
java·c++·设计模式
C++ 设计模式&设计原则SOLID + DRY/KISS/YAGNI + RAII/Rule of 0/5/3 是现代 C++ 核心设计原则
雨中飘荡的记忆19 小时前
java·设计模式
观察者模式:从理论到生产实践在软件开发中,我们经常需要实现"一个对象状态变化,多个对象自动更新"的场景。比如用户注册成功时,需要发送欢迎邮件、赠送积分、记录日志等多个操作。这种一对多的依赖关系,正是观察者模式的典型应用场景。
阿波罗尼亚20 小时前
设计模式
Head First设计模式(十二) 设计原则 复合模式模式通常被一起使用,并结合在同一个设计解决方案中。复合模式在一个解决方案中结合两个或多个模式,以解决一般的或重复发生的问题。
老朱佩琪!20 小时前
开发语言·经验分享·unity·设计模式·原型模式
Unity原型模式在游戏开发或业务系统中,我们经常会遇到这样的需求: 需要在运行时创建大量结构相同、但状态彼此独立的对象,例如怪物、技能、Buff 或道具。
拾忆,想起20 小时前
xml·微服务·设计模式·性能优化·服务发现
设计模式三大分类完全解析:构建高质量软件的基石深入理解创建型、结构型、行为型设计模式,掌握软件设计的核心分类逻辑。记得我第一次参与大型项目重构时,面对数千行杂乱无章的代码感到无从下手。直到团队架构师指着屏幕说:“这里要用工厂模式解耦,那里可以用策略模式替换if-else…” 那一刻我突然明白,设计模式不仅是技术,更是组织和思考代码的方式。
老朱佩琪!20 小时前
unity·设计模式
Unity装饰器设计模式装饰器设计模式(Decorator Pattern)是一种**在不修改原有类代码的前提下,给对象“动态增加功能”的结构型设计模式。 你可以把它理解成:给对象穿衣服——人不变,但穿得越多,功能越多。 他是一种在不修改原有类、不通过继承爆炸的前提下,给对象动态叠加功能 的结构型设计模式。它强调的是 “组合优于继承” ——功能是层层包裹,而不是写死在类里。
syt_101321 小时前
设计模式·bash·策略模式
设计模式之-策略模式策略模式定义:策略模式定义了一系列的算法,并且会将每一个算法封装起来,让它们可以相互的替换。策略模式的组成:
老鼠只爱大米21 小时前
java·设计模式·代理模式·proxy pattern·java设计模式·proxypattern
Java设计模式之代理模式(Proxy)深度解析代理模式(Proxy Pattern) 是一种结构型设计模式,通过创建代理对象控制对真实对象的访问。代理对象充当真实对象的替身,在客户端和真实对象之间引入间接层,实现访问控制、功能增强等目的。这种模式的核心价值在于:
老朱佩琪!1 天前
unity·设计模式·游戏引擎·适配器模式
Unity适配器模式把一个“接口不兼容”的类,包装成“我现在需要的接口”,让原本不能一起工作的代码能够协同工作。 一、生活化理解 你现在用的是 国标插座 你买了一个 美标插头的电器 它们功能没问题,但接口不匹配。 你不会改墙,也不会拆电器,而是: 加一个转换头(适配器) 插头 ← 适配器 → 插座 原设备完全不动 使用方也无需改逻辑 这就是适配器模式的核心思想。 二、适配器模式解决什么问题? 已有类功能正确,但接口不符合当前系统需求 不能/不想修改已有代码(第三方库、旧代码) 希望系统对外暴露统一接口
syt_10132 天前
设计模式·代理模式
设计模式之-代理模式1.代理实现懒加载1代理实现懒加载2,class的写法代理引发的思考:也许有人会有疑惑,不过是实现一个小小的图片懒加载,即使不引用任何模式也能办到,那么引入代理模式的好处究竟在哪里呢?下面我们先抛开代理,编写一个更常见的图片预加载函数,不使用代理的与加载图片函数实现如下:
拾忆,想起2 天前
开发语言·python·算法·微服务·设计模式·性能优化·服务发现
设计模式:软件开发的可复用武功秘籍设计模式不是语法规则,而是解决特定问题的经验结晶,是连接“业务需求”与“代码实现”之间的艺术桥梁。想象一下这个场景:你接手了一个电商订单系统的维护工作。某天产品经理提出一个新需求——需要为不同类型的用户(普通用户、VIP用户、内部员工)提供差异化的折扣计算方式。
老朱佩琪!2 天前
unity·设计模式·c#·桥接模式
Unity桥接模式在游戏开发中,经常会遇到这样的问题: 当系统中存在多个可独立变化的维度时,如果直接通过继承进行组合,随着功能扩展,类数量往往会迅速膨胀,代码也会变得难以维护。以武器系统为例,武器类型和攻击方式本质上是两个独立变化的方向,如果将二者强行绑定在一起,后期无论新增武器还是新增伤害类型,都会带来大量重复修改。
小明的小名叫小明2 天前
设计模式·区块链·智能合约
Solidity入门(10)-智能合约设计模式1在软件工程中,设计模式是被反复使用的、经过实践验证的解决方案。它们不是具体的代码,而是一种解决特定问题的思路和方法。
小明的小名叫小明2 天前
设计模式·区块链·智能合约
Solidity入门(11)-智能合约设计模式2代理模式是实现合约升级的核心方案。通过分离数据存储和业务逻辑,我们可以在不改变合约地址的情况下升级业务逻辑。
__万波__2 天前
java·设计模式·命令模式
二十三种设计模式(十四)--命令模式当我们有一个功能完善的类VideoClass,能够实现视频转码, 视频缓存 等等实际功能. 此时调用者需要依赖用户输入的命令来执行VideoClass中的一个或几个方法函数. 直觉上, 我们会写一个switch-case语句来处理用户输入的命令, 并执行VideoClass中的对应方法, 简单的可以这么做, 但是当用户的命令批量输入, 且要我们记录用户输入的所有命令, 或者要将所有命令都队列化存储之后依次执行时, 我们需要将命令解耦出来, 封装成独立的类, 这就是命令模式.
程序员zgh2 天前
c语言·数据结构·c++·设计模式
C++常用设计模式前言:C++代码设计模式总共有23种,分为创建型模式、结构型模式和行为模式。本文针对常用的单例模式、简单工厂模式、工厂方法模式和抽象工厂模式进行介绍。