我正在嘗試一種新的代碼結構,我將所有巨型資源庫和工廠分解爲每個負責一個小類的負載。最重要的是,我使用動詞來表示類名,因爲我認爲這是最準確地描述每個類的意思。單功能類(命名爲動詞)
每個類只有一個公共方法(稱爲「Execute」),但通常具有私有方法並且有時具有帶參數的構造方法。
例子:
前:
class DocumentRepository {
public List<Document> GetDocuments()
public void SaveDocument(Document document)
public Document CopyDocument(int id)
}
後:
class GetDocuments {
public List<Document> Execute()
}
class SaveDocument {
public void Execute(Document document)
}
class CopyDocument {
public Document Execute(int id)
}
一個這種結構的好處是,我更願意拆分公衆的功能方法轉換爲多個私有方法(更容易閱讀和管理)。在此之前會增加存儲庫中的混亂,但現在私有方法被包含在它們各自的類中。
我一直都認爲類應該有名詞作爲名字,但是當一個類只有一個用途時,最好用它的名字命名。
問題:
這是一個壞主意(分離和命名都)?如果是這樣,創建這種分離並避免大型課程的更好方法是什麼?
編輯: 應該指出,我已經從命令查詢的角度來看這些(奇怪的)想法。所以也許最有意義的是比較它而不是存儲庫。
這可能會更好放置在http://codereview.stackexchange.com。也就是說,我會說班級是名詞,方法是動詞,但這都是意見。 –