【读书笔记】AgilePPP——咖啡的启示

按行为划分系统

•程序的中心是行为
•不基于行为的系统划分,基本上是严重错误的。
•正是系统的行为为我们提供了第一个关于应该如何划分系统的线索

水蒸气类

•没有任何成员变量、状态
•只是一个调用转换器
•水蒸气类没有存在的必要

虚拟抽象

•抽象是非常微妙的
•对抽象类,多问问:谁使用它们?
•一个仅仅含有抽象方法并且不具有任何使用者的类,完全是一个无用的类
•虚拟抽象类没有存在的必要

上帝类

如何进行软件设计?

•把问题的本质和细节分离
•忘掉所有的小细节,集中关注根本问题
•根本问题是什么?
–如对咖啡机:如何煮咖啡?煮咖啡的水从哪里来?到哪里去?
•根据根本问题
–定大范围的职责——模块/类
–定模块/类之间的关联(交互/消息/行为)
•总的来说,要从行为入手,用抽象思维进行软件设计

关联

•关联是对象之间消息发送到路径
•软件对象之间的关联和物理实体的流向没有任何关系

面向对象设计的本质

•面向对象设计的本质
–高层策略和底层细节隔离

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值