我們在工作中討論定義實體類方法的最佳方式 - 作爲擴展方法或使用部分類。我們討論的方法不會修改實體的狀態,它們純粹是詢問狀態並返回值的「輔助」方法。指南 - 擴展方法vs部分類
這兩種方法的主要優點是保持實體類的清潔,同時仍然爲客戶端代碼提供智能感知支持。
我沒有強烈的偏好,但很想知道其他人是否有偏好(或知道有文件記載的指導原則)朝向某一方。
我開始寫優點爲我能想到的每一種方法的名單,但最後都是我想出來的是:
分部類
的方法(即使它是另一個文件),因此Visual Studio工具支持「查找方法」(例如,在resharper中的ALT- \)將找到方法
其他文件co ntaining輔助方法只要實體類被打開,由於使用partial關鍵字
擴展方法
- 文件(「entityNameExtension」)和它的下落的命名是顯而易見的在項目中(在「擴展」子文件夾中)是直觀且易於搜索的
其他人可以添加他們的意見嗎?
PS我不認爲這是以下問題的重複,因爲該問題的提問者很滿足於標記將功能差異概括爲正確答案的答覆,該答案不回答關於哪個問題方法是在這種情況下的最佳實踐: Partial Class vs Extension Method
編輯 - 我在尋找人們對一種方法或其他偏好,因爲沒有記錄的指導方針,我們可以找到這種特殊情況。兩種方法都是可能的,既不違反任何設計原則,所以這是一個偏好問題,我想知道你的。
很棒的回答。感謝您的輸入! – Ashby