File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ ## 组件模式
2+
3+ ### 定义
4+
5+ 允许一个单一的实体跨越多个不同域而不会导致耦合。
6+
7+ ### 场景
8+
9+ - 你有一个涉及多个域的类,但是你希望这些域保持相互解耦。
10+ - 一个类越来越庞大,越来越难以开发。
11+ - 你希望定义许多共享不同能力的对象,但采用继承的办法却无法令你精确地重用代码。
12+
13+ ### 案例
14+
15+ [ RPG游戏] ( ./Assets/DecouplingPatterns/Component )
16+
17+ ### 实现方式
18+
19+ * 单一实体跨越了多个领域。
20+
21+ * 为了保持领域之间相互分离,将每部分代码放入** 各自的组件类** 中。
22+
23+ * 实体被简化为* 组件的容器* 。
24+
25+ ### 优缺点
26+
27+ ** 优点**
28+
29+ * 各个功能模块进行解耦
30+
31+ ** 缺点**
32+
33+ * 增加了组件之间的通信开销
34+
35+ ### 与其他设计模式的关系
36+
37+ - 这种模式与GoF的策略模式类似。 两种模式都是将对象的行为取出,划入单独的重述对象。 与对象模式不同的是,分离的策略模式通常是无状态的——它封装了算法,而没有数据。 它定义了对象* 如何* 行动,但没有定义对象* 是* 什么。
38+
39+ 组件更加重要。它们经常保存了对象的状态,这有助于确定其真正的身份。 但是,这条界限很模糊。有一些组件也许根本没有任何状态。 在这种情况下,你可以在不同的容器对象中使用相同的组件* 实例* 。这样看来,它的行为确实更像一种策略。
Original file line number Diff line number Diff line change 11# Game Programming Patterns 游戏编程模式
22Unity实现《游戏编程模式》
33
4- # 行为模式
5- -
6-
7- -
8-
9- -
10-
114# 解耦模式
12- ## 组件模式
13-
14- ### 定义
15-
16- 允许一个单一的实体跨越多个不同域而不会导致耦合。
17-
18- ### 场景
19-
20- - 你有一个涉及多个域的类,但是你希望这些域保持相互解耦。
21- - 一个类越来越庞大,越来越难以开发。
22- - 你希望定义许多共享不同能力的对象,但采用继承的办法却无法令你精确地重用代码。
23-
24- ### 案例
25-
26- [ RPG游戏] ( ./Assets/DecouplingPatterns/Component )
27-
28- ### 实现方式
29-
30- * 单一实体跨越了多个领域。
31-
32- * 为了保持领域之间相互分离,将每部分代码放入** 各自的组件类** 中。
33-
34- * 实体被简化为* 组件的容器* 。
35-
36- ### 优缺点
37-
38- ** 优点**
39-
40- * 各个功能模块进行解耦
41-
42- ** 缺点**
43-
44- * 增加了组件之间的通信开销
45-
46- ### 与其他设计模式的关系
47-
48- - 这种模式与GoF的策略模式类似。 两种模式都是将对象的行为取出,划入单独的重述对象。 与对象模式不同的是,分离的策略模式通常是无状态的——它封装了算法,而没有数据。 它定义了对象* 如何* 行动,但没有定义对象* 是* 什么。
49-
50- 组件更加重要。它们经常保存了对象的状态,这有助于确定其真正的身份。 但是,这条界限很模糊。有一些组件也许根本没有任何状态。 在这种情况下,你可以在不同的容器对象中使用相同的组件* 实例* 。这样看来,它的行为确实更像一种策略。
5+ -
516
527## 事件队列
538
Original file line number Diff line number Diff line change 2020 - [ 子类沙箱] ( ./GameProgrammingPatterns/SubclassSandbox.md )
2121 - [ 类型对象] ( ./GameProgrammingPatterns/TypeObject.md )
2222- 解耦模式
23- - [ 组件模式] ( ./GameProgrammingPatterns/ )
23+ - [ 组件模式] ( ./GameProgrammingPatterns/Component.md )
2424 - [ 事件队列] ( ./GameProgrammingPatterns/ )
2525 - [ 服务定位器] ( ./GameProgrammingPatterns/ )
2626- 优化模式
You can’t perform that action at this time.
0 commit comments