2026年9月6日
摘要: 享元模式(错误,待修改) 关于享元模式,最重要的一点:共享。 享元模式主要用于解决大量对象存在时,重复数据造成的内存占用问题。 在游戏开发中,经常会出现这样的情况: 例如一个场景中生成了大量相同类型的树、NPC、小怪。 一棵树可能包含: class Tree { public: Mesh* mesh 阅读全文
posted @ 2026-09-06 20:11 咸云闲鱼 阅读(7) 评论(0) 推荐(0)
摘要: 外观模式 外观模式可能和代理模式和模板方法有一些相似之处, 他们都有表面上的:“我不希望客户端直接处理复杂东西,所以我在中间加一个东西” 但是他们的目的不一样 代理模式:我不想让客户端直接访问真实对象(控制访问) 模板模式:我希望这个算法必须按照固定流程执行(控制流程) 外观模式:子系统太复杂,客户 阅读全文
posted @ 2026-09-06 17:11 咸云闲鱼 阅读(3) 评论(0) 推荐(0)
摘要: 模板方法 模板方法可能和构建者模式有一点点相似,两者都可以将一个复杂的过程拆分成多个步骤 Builder:最终目标通常是构建一个对象 Template Method:最终目标是执行一个算法/流程 区别是,构建者模式关注的是“如何把一个复杂对象组装出来”,不同 Builder 可以按照自己的方式设置对 阅读全文
posted @ 2026-09-06 15:56 咸云闲鱼 阅读(3) 评论(0) 推荐(0)
摘要: 适配器模式 适配器模式和装饰器模式在代码结构上有一些相似之处,都可能通过继承目标接口,并持有另一个对象来完成包装(将新的接口翻译为业务逻辑能够理解的老接口) 装饰器模式是为了在不改变原有接口的情况下,为对象增加新的职责或功(接口基本不变,增加职责) 适配器模式则是为了让原本接口不兼容的对象能够被现有 阅读全文
posted @ 2026-09-06 14:00 咸云闲鱼 阅读(4) 评论(0) 推荐(0)
  2026年9月5日
摘要: 组合和装饰器模式 装饰器模式 先说装饰器模式,装饰器模式是为了向主体添加可以复用的功能,通常只有一个主体对象,(但是不排除,装饰器和组合模式混合,或者其他模式混合使用) 装饰器模式的特点,是对象嵌套层层包装 class Cat{ public: virtual void Eat() = 0; } / 阅读全文
posted @ 2026-09-05 19:47 咸云闲鱼 阅读(4) 评论(0) 推荐(0)
  2026年9月4日
摘要: 单例模式 在了解单例模式之前 需要先了解关键字static 有关static的修饰位置,需要重点关注的有4种 static 修饰全局变量 static 修饰局部变量 static 修饰成员变量 static 修饰成员函数 当static修饰全局变量时,表示这个变量只有变量所在.cpp文件中能够被访问 阅读全文
posted @ 2026-09-04 17:33 咸云闲鱼 阅读(3) 评论(0) 推荐(0)
  2026年9月2日
摘要: 原型 如果说,生成器模式是解决如何烹饪鱼的话,按照一定的顺序方法烹饪鱼的话,原型就是解决如何快速的做出相同口味,风味的鱼,相当于中央厨房 “原型模式”,中的“原型”在我看来,可以理解未一个模板,通过他可以获得很多配置相同的类 首先,先抽象一基类 class CookedFish{ protect: 阅读全文
posted @ 2026-09-02 23:19 咸云闲鱼 阅读(4) 评论(0) 推荐(0)
  2026年9月1日
摘要: 理解生成器模式 在工厂3种模式理解种,使用了猫吃鱼理解 那么生成器是解决什么问题的呢,这里可以理解为,猫要怎样吃鱼(当然,这和工厂方法中的猫吃鱼,并无必然联系) 例如,猫要吃一条鱼,鱼头怎么吃:清蒸,鱼尾真么吃:红烧,鱼腹怎么吃:水煮,鱼背怎么吃:刺多,油炸(deep fry)。 先有一条被烹饪的鱼 阅读全文
posted @ 2026-09-01 18:35 咸云闲鱼 阅读(4) 评论(0) 推荐(0)
  2026年8月31日
摘要: 从“猫吃鱼”理解简单工厂、工厂方法与抽象工厂 这个例子只是同步哦猫吃鱼来详细理解设计模式,其他例子比如:商品打折,后需要增加春节折扣,中秋节折扣 植物大战僵尸:玩家点击卡片生成植物,生成向日葵,生成豌豆射手,后续要添加其他植物拓展 一、模式前置需求 假设现在有一个简单的需求: 有一只猫,猫可以吃鱼。 阅读全文
posted @ 2026-08-31 00:19 咸云闲鱼 阅读(8) 评论(0) 推荐(0)
  2025年7月19日
摘要: 对已有的运算符重新定义,赋予另一种功能,以使用不同数据类型 对于内置数据类型表达式运算符,不可改变 例如 int a = 1 + 1;不可改变 关键字operator 加法运算符重载 代码示例 #include <iostream> using namespace std; class Person 阅读全文
posted @ 2025-07-19 20:23 咸云闲鱼 阅读(34) 评论(0) 推荐(0)