我正在設計一個ExpenseManager應用程序並遇到了設計/重構決定。Account類和java.io.File之間的類比
帳戶是我的域對象(不變),它看起來是這樣的:
public class Account {
private long accountId;
private String accountName;
//getters
//static nested builder to instantiate in an immutable fashion
}
這不過是一個值對象(不是域對象:() 早些時候我曾deisgned(實施)一個的AccountManager類託管賬戶的創建,編輯,刪除等
public class AccountManager {
public createAccount(Account account) { //impl }
//similarly edit, delete methods
}
但是,當我讀到this文章,它讓我思考。
java.io.File類有一個方法createNewFile()這實際上會在底層文件系統中的文件的類比。文件類爲此使用FileSystem對象。同樣,我認爲我的Account類也應該有一個createNewAccount()方法並在內部使用AccountManager。
哪一個更好的設計決策?使用AccountManager進行帳戶操作或爲Account類提供創建,編輯和刪除的功能?
倒投票????我認爲這是一個很好的問題。來自我的贊成票。 –