`
nathan09
  • 浏览: 155410 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

按行为划分系统

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

水蒸气类

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

虚拟抽象

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

上帝类

如何进行软件设计?

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

关联

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

面向对象设计的本质

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics