Skip to content

Commit f9db919

Browse files
committed
update chapter 5 and 6.
1 parent ba2115a commit f9db919

File tree

3 files changed

+34
-1
lines changed

3 files changed

+34
-1
lines changed

chapter-5/README.md

+18-1
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,23 @@
44

55
假设你想写一个赛车游戏。你需要对某种汽车建模,在本练习假设中只有一种类型的汽车。该车的每个实例都需要多个属性,例如发动机的当前功率输出、当前燃油使用量、轮胎压力、驾驶灯是否打开、挡风玻璃雨刮器是否启动等。游戏应该允许玩家配置不同的引擎、不同的轮胎、定制的驾驶灯和挡风玻璃雨刷等。你会如何对这样一辆车进行建模,为什么?
66

7+
车并不是一个引擎,所以应该采用从属包含关系,即:
8+
9+
```txt
10+
|-车
11+
|--引擎
12+
|---输出
13+
|---燃油使用
14+
|--轮胎
15+
|-等等
16+
```
17+
718
## 5-2
819

920
继续练习 5-1 中的赛车游戏,你当然希望能够支持人工驾驶汽车,但也希望包含对人工智能(AI)驱动汽车的支持。你将如何在游戏中对此进行建模?
1021

22+
将输入与车辆部件剥离开,人工驾驶和 AI 驾驶由输入方式决定(AI可能使用与人工不同的输出-输入反馈方式)。
23+
1124
## 5-3
1225

1326
假设一个人力资源(HR)应用程序的一部分具有以下 3 个类。
@@ -16,10 +29,14 @@
1629
- Person:关注姓名和地址
1730
- Manager:关注团队中有哪些雇员
1831

19-
![图5-3](data:image/png;base64,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)
32+
![图5-3](图5-3.png)
2033

2134
你认为上图中的内图中怎么样?你能对它进行一些改动吗?该图没有显示不同类的任何属性或行为,因为这是练习 5-4 的主题。
2235

36+
不太好,应该把Person改为Employee下级,避免姓名、地址一致而ID不同。
37+
2338
## 5-4
2439

2540
从练习 5-3 的最终类图开始,在类图中添加一些行为和属性。最后,对经理管理员工团队这一事实进行建模。
41+
42+
略。

chapter-5/图5-3.png

10.8 KB
Loading

chapter-6/README.md

+16
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,30 @@
44

55
使普通情况变得容易并使不太可能的情况成为可能意味着什么?
66

7+
意味着接口应该有一个简单的学习曲线,应该能做到大多数程序员想要做的事情,也应允许更高级且较为少见的使用方式,并且需要将为了实现罕见情况的导致的复杂性与仅实现常见情况的简单性进行权衡。
8+
79
## 6-2
810

911
设计可重用的代码的第一策略是什么?
1012

13+
抽象,即接口与实现分离。
14+
1115
## 6-3
1216

1317
假设你正在编写一个需要处理人员信息的应用程序。应用程序的一部分需要保留一份客户列表,例如包含最近的订单、会员卡号等数据的列表。应用程序的另一部分需要跟踪公司员工的 ID、职位等。因此,设计了一个名为 Person 的类,其中包含他们的姓名、电话号码、地址、最近订单列表、会员卡号、薪水、员工 ID、职位(如工程师、高级工程师等)。你觉得这样的类怎么样?你能够如何改进它?
1418

19+
不太好,员工信息与客户列表耦合了,应该设置一个CustormerInformation类,一个CustormerOrder类,由Person类包含这两个类。
20+
1521
## 6-4
1622

1723
不回看之前的内容,解释 SOLID的含义。
24+
25+
S:SRP(Single Responsibility Principle,单一责任原则),单个组件应当具有单独、明确定义的责任,不应当与无关的功能组合在一起
26+
27+
O:OCP(Open/Closed Priciple,开放/关闭原则),一个类对扩展应当是“开放的”(允许派生新类),但对修改是“关闭的”。
28+
29+
L:LSP(Liskov Substitution Principle,里氏替换原则),对于一个对象而言,应当能用该对象的子类型替换该对象的实例。
30+
31+
I:ISP(Interface Segregation Principle,接口隔离原则),接口应当简单清楚。不要使用过于宽泛的通用接口,最好使用多个较小的、明确定义的、责任单一的接口。
32+
33+
D:DIP(Dependency Inversion Priciple,依赖倒置原则),使用接口倒置依赖关系。

0 commit comments

Comments
 (0)