作業中のWebアプリで「ストア」オブジェクトが多用されています。このパターンの名前はありますか?これらのタイプはBLLまたはDALにありますか?
これらのストアには、単一のタイプに関連付けられた、従来のDALタイプと見なされるもののフラグメントが含まれています。
たとえば、タブの永続化と取得のためのメソッドを含むTabStoreがあります。TabStoreの各メソッド内には、適切なNHibernateクエリを呼び出すためのコードがあります。
このパターンを使用する際の落とし穴(ある場合)は何ですか?かつてはモノリシックなDalタイプであったものを、より扱いやすく、より小さなタイプに分離するのは本当に簡単な試みですか?
方法の例:
public IList<Tab> GetAllTabInstancesForUserId(Guid userId)
{
IList<Tab> tabInstances =
UoW.Session.CreateQuery("from Tab t where t.UserId=:userId order by t.TabOrder")
.SetGuid("userId", userId)
.SetCacheable(true)
.List<Tab>();
return tabInstances;
}