天天看點

Robert C. Martin《架構整潔之道》裡面的or、er圖

龍仔 2020-5-26 15:17

我最近看了Bob大叔《架構整潔之道》裡面的圖,記得您上課說過什麼or和er類屬于假OO,貌似書裡這樣的圖還不少,您怎麼看

Robert C. Martin《架構整潔之道》裡面的or、er圖

UMLChina潘加宇

我書裡相關内容的截圖是這樣的

Robert C. Martin《架構整潔之道》裡面的or、er圖

Robert C. Martin這本書我也看過,畢竟他說的是“服務”不是類,這樣命名也不是不可以。

不過借題發揮一下:Robert C. Martin寫的書裡面(包括《靈活軟體開發...》等)很多地方,類也都是這種er、or類,沒有屬性,全是操作,然後SRP、OCP什麼的喊一通,名頭又響,誤導很多人,以為這樣就掌握了“面向對象設計”了。

下面是我畫的一個和Robert C. Martin圖中類似領域的類圖

Robert C. Martin《架構整潔之道》裡面的or、er圖

顯然,下面的圖需要更深入的思考,不過也正因為如此,上面類似Robert C. Martin書中的圖更受歡迎,因為不用動腦子就可以得到一堆正确而無用的廢話來充工作量。誰負責配置設定車輛?車輛配置設定器,怎麼配置設定,我有一個車輛配置設定算法……,巧妙地把問題的困難之處躲過去了。

網上很多“領域驅動設計”的文章也是如此,發明創造一堆“新”詞彙,結果整篇文章一個稍微複雜點的領域類圖都沒有,整個就是一一對應的功能分解的翻版,但也同樣因為不需要太多思考,就可以得到一大堆正确而無用的廢話來充工作量,也很受歡迎。

不需要付出比絕大數人更深入的思考就可以得到的答案,可能是錯誤的答案。

就像聯考一樣,前面幾道題學渣和學霸都可以拍腦袋就答,越往後題目越來越難,學渣如果還以為拍腦袋給出答案就能得分,那就太天真了。

畢竟學渣占多數,如果有人“發明”一種不需要太多思考的答題“新”方法,例如三長一短選最短,兩長兩短就選B,參差不齊就選C,學渣就撲上去“擁抱靈活”了。

現實中競争如此激烈,能給我們帶來利潤的問題,往往是比“聯考題”還殘酷的“競賽題”,如果你想的答案傻子也想得到,要麼這個問題不值錢,要麼你的答案是錯的。

Robert C. Martin《架構整潔之道》裡面的or、er圖

繼續閱讀