面向对象编程范式 java
第五章类的协作
职责和角色
角色:类的实现
职责:类提供的一组相关的接口及其相关数据
单一职责:每个类都保证单一职责
协作
协作:类的职责的分配
分配方式:从大到小,从小到大,不断调整成最合理
客户端-代理-服务端:
客户发出请求
代理或者服务端接受,处理,返回值
错误:
客户端从服务端获取数据在自己计算(违背了单一职责)
此时服务端提供了数据职责,但却没有行为职责,不合理的设计
类之间的关系
从松散到紧密
依赖:局部的new引用
关联:成员变量
聚合:强化版关联,蕴含了从属关系
组合:最强的关系,生命周期的一致性,成员变量定义初始化
TicTacToe
顺序图
委托式结构:
同步消息:
异步消息:
使用MockObject来测试
使用简化版的类来测试逻辑