有点笨有点猪
关于
Base Knowledge
Artificial Intelligence
Generative AI
Reinforcement Learning
Compilation Principle
1 Overview
2 Lexical Analysis
3 Syntax Analysis
4 Syntax-Directed Translation
5 Intermediate Code Generation
Computer Graphics
Animation
刚体
柔体
流体
质点-弹簧系统
Geometry
Rendering
Games101
Games102
实时光线追踪
实时全局光照
实时抗锯齿与超采样
实时渲染中的工业界技术
实时环境光照
实时阴影
实时高质量着色
Computer Network
1 Overview
2 Application Layer
3 Transport Layer
4 Network Layer
5 Link Layer
Computer Organization
Data Structures & Algorithm
Basic Algorithm
Binary Lifting
Binary Search
Enumerate
Greedy
Recursion & Divide and Conquer
Sort
前缀和 & 差分
Dynamic Programming
动态规划
Graph
Traverse
Hash
Linear
Misc
String
Tree
Traverse
Operating system
1 Overview
2 并发
3 虚拟化
4 内核
5 持久化
Z Reference Link
Programing
C&C++
C++对象模型
实现双端队列
C#
Code Style
Cuda
Design Pattern
1 Creational
1 Factory Method 工厂方法
2 Abstract Factory
3 Builder
4 Prototype
5 Singleton
6 Summary
2 Structural
1 Adapter
2 Bridge
3 Composite
4 Decorator
5 Facade
6 Flyweight
7 Proxy
8 Summary
3 Behavioral
1 Chain of Responsibility
10 Visitor
11 Interpreter
12 Summary
2 Command
3 Iterator
4 Mediator
5 Memento
6 Observer
7 State
8 Strategy
9 Template Method
Lua
1 Overview
2 Lua 5.x精要总结
3 Lua GC
4 Lua 虚拟机
5 Lua 面向对象
Python
1 Overview
Rust
1 基础
Shell
1 Overview
TypeScript
1 Overview
Z Reference Link
Unreal Engine
AI
BehaviorTree
EnvironmentQuery
NavMesh
Animation
动画状态机
Asset&Pak&Patch
Core
UObject
Debug
Editor Extension
GamePlay
Framwork
AGameModeBase
AGameStateBase
Game Ability System
AGameplayCueNotify_Actor
FGameplayTag
UAbilitySystemComponent
UAbilityTask
UAttributeSet
UGameplayAbility
UGameplayEffect
Replication
Optimization
Replication Graph
Significance Manager
Physics
Platform
Java Native Interface
Unreal Plugin Language
Profile
UE性能优化工具
Unity性能优化方向
Rendering
Sounds
UI
UnLua
Unlua指南
Unlua源码解析
Z Reference Link
Work Experience
Efficiency
UE Project Git Pull&Build
Security
哈希函数
Serialization
Json
Protobuf
Z Reference Link
README
6 Summary
创建型模式提供了创建对象的机制,能够提升已有代码的灵活性和可复用性。 通过对象创建模式,绕开new,以避免紧耦合,支持对象创建的稳定。 ...
2025-08-10
Programing
>
Design Pattern
>
1 Creational
5 Facade
门面模式: 简化系统 内部 和 外部 的耦合。为子系统中的一组接口提供一个一致(稳定)的界面,定义了一个高层接口,使得更容易复用。达到一种 解耦 的效果。解决的是 架构 层面的设计,而不简单是一个类的设计。 ...
2025-08-10
Programing
>
Design Pattern
>
2 Structural
5 Memento
备忘录模式:对象状态在转换过程中,可能存在 回溯 到之前某个状态的需求。实现对象状态的 保存与恢复,同时不破坏对象的封装性。在 不破坏封装性 的前提下,捕获 一个对象的 内部状态,并在 对象之外 进行 保存 ,且支持恢复。(已经不实用了,目前主流框架/语言,都有成熟的反射、序列化方案,可以更高效的实现备忘录模式) class Memento {private: // 不一定通过 ...
2025-08-10
Programing
>
Design Pattern
>
3 Behavioral
5 Singleton
单例模式: 保证系统中只存在一个实例。 解决对象的性能问题。 class Singleton {public: static Singleton* GetInstance(); static Singleton* m_Instance;private: Singleton(); Singleton( const Singleton& singleton );};// 线 ...
2025-08-10
Programing
>
Design Pattern
>
1 Creational
4 Decorator
装饰模式: 支持主体类在多个方向上拓展能力,以解决子类爆炸的问题,核心是划分不同继承分支的职责,相互依赖的职责又通过组合联系。 通过 组合(动态) 给对象添加能力,而不是 继承(静态)。(当子类能力出现分支,但又相互依赖的情况下,在 渲染场景 下尤为常见) // 主体类class Component {public: virtual void DoSomething() = 0; ...
2025-08-10
Programing
>
Design Pattern
>
2 Structural
4 Mediator
中介者模式: 对象之间存在互相关联交互的情况,维持着复杂的引用关系。使用 中介对象 来封装(变化)一系列对象的交互,管理对象之间的紧耦合引用。使得各对象不需要显式的引用(编译时 -> 运行时)。(引入中介者,将网状的引用中心化) ...
2025-08-10
Programing
>
Design Pattern
>
3 Behavioral
4 Prototype
原型模式: 使用原型实例指定要创建对象的种类,并通过拷贝这些原型创建新的对象。对象的状态变化剧烈/创建复杂,需要记忆对象的状态。(对象池思想) class Abstract { virtual Abstract* Clone() { // 需要用 深拷贝 return new Abstract(*this); }; virtual ~Abstract() ...
2025-08-10
Programing
>
Design Pattern
>
1 Creational
3 Composite
组合模式:客户代码过多依赖于对象内部实现结构(而非接口),对象自身的变化将引起客户代码的频繁修改。将对象组合成树形结构,以表示“整体-部分”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。简化树形结构中对象的处理,无论它们是单个对象还是组合对象。解耦客户端代码与复杂元素的内部结构,使得客户端可以统一处理所有类型的节点。采用树形结构来实现对象容器,将 一对多 的关系转换为 一对一 的关系。 ...
2025-08-10
Programing
>
Design Pattern
>
2 Structural
3 Iterator
迭代器模式: 集合对象的内部结构常常变化,实现“透明遍历”,不需要了解内部结构。提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露(稳定)该对象的内部表示。(已经过时了,目前已有STL迭代器)模板实现(C++编译时多态) 优于 面向对象(运行时多态,性能消耗)。 template<typename T>class Iterator { virtual void Firs ...
2025-08-10
Programing
>
Design Pattern
>
3 Behavioral
3 Builder
构建器模式: 一个复杂对象的一部分变化剧烈,一部分相对稳定。将一个复杂对象的构建与其 表示 相分离,使得同样的构建过程(稳定)可以创建不同的表示(变化)。 (可调用子类虚函数的初始化函数) class Abstract { Abstract(){}; // 其实就是 模板方法,然后新建一个 初始化函数,以完成构造流程。 // 绕开构造函数无法调用虚函数的限制。 // ...
2025-08-10
Programing
>
Design Pattern
>
1 Creational
<
1
2
3
4
…
6
>