3
A
回答
3
把握都沒有概念聯繫在一起,所以你應該考慮它們放在一起: - 「哪個對象應該需要 行爲」
- 「信息專家」的問題是(請參閱 http://en.wikipedia.org/wiki/Domain-driven_design)像這個問題的答案 之一。
- 「凝聚力」 - 問題是,「許多不同的行爲如何畫線」 http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)
你不應該學習這些概念沒有編碼實踐,編寫代碼/使重構 - 你會得到它。
0
GRASP設計模式在這裏非常正確地說(Is Information Expert from GRASP and Modell from MVC the same?)是設計原則,並支持您評估您的設計決策和實施。
GRASP中的「凝聚力」是一種評估設計模式,與「耦合」一起使用。因此,您必須使用它們來分析您的設計,以確定它是如何內聚和鬆散耦合的,這直接增強了可重用性和可擴展性。
另一方面,「信息專家」可以幫助您確定哪個班級應該承擔特定的責任。它告訴你將一定的責任分配給關於它的最多信息。 |
因此,在一個簡單的購物車用例中,您將根據數量和單價計算ShoppingItem來計算ItemItemPrice(),然後ShoppingCart計算TotalPrice()。
這成爲一個關鍵因素,並且注意到大多數GOF設計模式實際上都支持這種GRASP概念。
最重要的是。如果您在設計中應用了信息專家模式,它應該爲評估您的設計提供高度的凝聚力。這就是信息專家和凝聚力如何聯合起來,就像所有其他GRASP模式一樣。
Resources:http://www.cs.bgu.ac.il/~oosd051/uploads/stuff/ApplyingUMLandPatterns.pdf
相關問題
- 1. GOF和GRASP設計模式之間的區別是什麼
- 2. 通信凝聚力
- 3. GRASP的控制器到底是什麼?
- 4. 凝聚力和耦合力
- 5. Java參數通過後GRASP
- 6. SOLID GRASP控制器模式?
- 7. 計算凝聚塊凝聚力igraph 0.5.4
- 8. 聚類和匹配有什麼區別?
- 9. GRASP造物主模式標準
- 10. GRASP Creator真的會解耦嗎?
- 11. 服務層=應用層= GRASP控制層
- 12. 我/家中的'故事'和'信息'有什麼區別JSON回覆
- 13. 什麼是使用記錄器最有凝聚力的位置?
- 14. 規則和信息有效性有什麼區別?
- 15. 增加凝聚力飼料
- 16. SIGCLD和SIGCHLD信號有什麼區別?
- 17. 「抽象」在「班級凝聚力」或「班級凝聚力」代碼指標中意味着什麼?
- 18. 致專家:本準則有何區別?
- 19. Android中佈局重力和重力有什麼區別?
- 20. 指示性彙總和信息彙總有什麼區別?
- 21. visual studio 2015社區和專業人士有什麼區別
- 22. CUDA計算能力有什麼區別?
- 23. 有什麼區別`和$(Bash中有什麼區別?
- 24. Visual Studio Express版本,microsoft.net和VS專業版有什麼區別?
- 25. 有什麼區別? :和||
- 26. &&和||有什麼區別?
- 27. 「/」和「/ *」有什麼區別?
- 28. 有什麼區別:。!和:r!?
- 29. ==和===有什麼區別?
- 30. Appender和〜有什麼區別?
我們的分類結構是一種我們不做任何編碼的方式。它的所有理論。我應該如何練習這些概念?當我編寫一些代碼時,如何知道我是對還是錯? – Vizzle
<<當我編寫代碼時,我怎麼知道自己是對還是錯?>> 你應該通過實踐獲得理論,而不是通過理論實踐。但無論如何,理論也是好的。編寫簡單的程序,探索https://github.com/ ....祝你好運。 – pvllnspk