我嘗試抽象我的特定領域的問題,以銀行賬戶,假設以下情況:我應該如何架構我的域模型
- 我有一定的客戶的銀行密碼登錄。
- 每個客戶可以擁有多個屬於同一登錄名的銀行賬戶。
- 每個銀行賬戶可以有數千筆交易。
我設計的類結構folows(簡體):
public class Login
{
private List<Account> _bankingAccounts;
....more fields, ctor, getters, setters...
}
public class Account
{
private List<Transaction> _transactions;
....more fields, ctor, getters, setters...
}
public class Transaction
{
String _comment;
....more fields, ctor, getters, setters...
}
好了,但如果我有讓我們說20的帳戶,每個人都有10000交易,我從數據庫裝載有將整個模型是一個大量的記憶,即使我不知道客戶是否需要所有這些交易。
我想建立一個更加簡化的模型是這樣的:
public class Login
{
private List<SimpleAccount> _bankingAccounts;
....more fields, ctor, getters, setters...
}
public class SimpleAccount
{
....more fields, ctor, getters, setters...
}
public class Account
{
private List<Transaction> _transactions;
....more fields, ctor, getters, setters...
}
public class Transaction
{
String _comment;
....more fields, ctor, getters, setters...
}
然後我將加載與簡化的帳戶(不包含所有事務)一個賬戶模式,只有我的用戶請求看交易一個特定賬戶我將加載這個單一的整個賬戶對象。
那樣可以嗎?有更好的方法嗎?
對於一長串事務處理,您可以執行服務器端分頁 – JohnnBlade 2012-07-30 07:46:22