GRASP 之資訊專家模式 - Kamil Grzybek
問題:將責任分配給物件的基本原則是什麼?
解決方案:將責任分配給具有實現它所需資訊的類。
在下面的示例中, Customer類引用了所有客戶 訂單,因此很自然地負責計算訂單的總價值:
public class Customer : Entity, IAggregateRoot { private readonly List<Order> _orders; public GetOrdersTotal(Guid orderId) { return this._orders.Sum(x => x.Value); } } |
這是最基本的原則,因為事實是 - 如果我們沒有我們需要的資料,我們無論如何都無法滿足要求並分配責任。
(banq注:一般職責行為涉及源與目標兩個方面,例如A-->B,那麼這個行為應該是放在源物件,還是目標物件,或者根本沒有這兩個物件,那麼設計一個源物件,還是設計一個目標物件,資訊專家模式認為設計一個源物件,將這個職責行為包括進來,因為源物件中包含建立目標物件所需的各種資訊。
)
相關文章
- GRASP之間接模式 - Kamil Grzybek模式
- GRASP之控制器模式 - Kamil Grzybek模式
- GRASP之多型性模式 - Kamil Grzybek多型模式
- GRASP之受保護的變化 - Kamil Grzybek
- 比SOLID更重要的與DDD設計相關的GRASP原則 - Kamil GrzybekSolid
- Clean清潔領域模型的幾個特點 -Kamil Grzybek模型
- 【招聘資訊】騰訊雲資料庫高階專家資料庫
- 上海資訊化專家委大資料專委會昨舉行首次會議大資料
- JS專題之嚴格模式JS模式
- 安全專家稱不再向廠商免費提供漏洞資訊
- High precision grasp pose detection in dense clutter
- 騰訊遊戲學院專家:UE高階效能剖析技術之RHI遊戲
- 資訊系統專案管理系列之五:專案整體管理專案管理
- 資訊系統專案管理系列之六:專案範圍管理專案管理
- DDD當前工程方法組合 - Kamil
- 民航專家齊聚雲端,共話民航業資訊保安建設
- 騰訊資料庫專家雷海林分享智慧運維架構資料庫運維架構
- CORNERSTONE對話騰訊&華為敏捷專家敏捷
- 大型Java進階專題(六)設計模式之代理模式Java設計模式
- ChatGPT 指南之像專家一樣寫作ChatGPT
- 每日安全資訊:NSO,一家專業入侵 iPhone 的神祕公司iPhone
- JAVA訊息確認機制之ACK模式Java模式
- 《安全大咖》|訪資訊保安專家郭守祥:創新 導向 共贏
- 獨家專訪丨騰訊、 Roblox中國、以及MetaverseMetaverse
- Using Geometry to Detect Grasp Poses in 3D Point Clouds3DCloud
- 大資料之Kafka-李強強-專題視訊課程大資料Kafka
- 共享模式 & 專有模式模式
- 資訊系統專案管理系列之四:專案可行性研究與評估專案管理
- Solon rpc 之 SocketD 協議 - 訊息鑑權模式RPC協議模式
- 《假如你身處被“科技制裁”的俄羅斯》之資料庫專家訪談資料庫
- 資料工程師、掌握資料分析,成為資料科學家、資料庫遷移專家工程師資料科學資料庫
- 大型Java進階專題(八) 設計模式之介面卡模式、裝飾者模式、觀察者模式Java設計模式
- 阿里資深專家面試問題收集阿里面試
- 資料分析師、資料科學家、大資料專家三個職位的區別資料科學大資料
- Delphi提高開發效率之GExperts專家的使用說明
- 用python爬取鏈家的租房資訊Python
- python爬蟲--爬取鏈家租房資訊Python爬蟲
- 私藏!資深資料專家SQL效率最佳化技巧 ⛵SQL