【讀書筆記】AgilePPP——咖啡的啓示

按行爲劃分系統

•程序的中心是行爲
•不基於行爲的系統劃分,基本上是嚴重錯誤的。
•正是系統的行爲爲我們提供了第一個關於應該如何劃分系統的線索

水蒸氣類

•沒有任何成員變量、狀態
•只是一個調用轉換器
•水蒸氣類沒有存在的必要

虛擬抽象

•抽象是非常微妙的
•對抽象類,多問問:誰使用它們?
•一個僅僅含有抽象方法並且不具有任何使用者的類,完全是一個無用的類
•虛擬抽象類沒有存在的必要

上帝類

如何進行軟件設計?

•把問題的本質和細節分離
•忘掉所有的小細節,集中關注根本問題
•根本問題是什麼?
–如對咖啡機:如何煮咖啡?煮咖啡的水從哪裏來?到哪裏去?
•根據根本問題
–定大範圍的職責——模塊/類
–定模塊/類之間的關聯(交互/消息/行爲)
•總的來說,要從行爲入手,用抽象思維進行軟件設計

關聯

•關聯是對象之間消息發送到路徑
•軟件對象之間的關聯和物理實體的流向沒有任何關係

面向對象設計的本質

•面向對象設計的本質
–高層策略和底層細節隔離

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章