我們有幾個(5+)應用程序碰到同一個數據庫,並且我們遇到了應用程序都自行掌握以獲取相同數據的查詢的問題。但是,由於不同的開發人員正在創建這些查詢,因此它們不盡相同,因此會不時返回不同的結果。創建服務來封裝業務查詢
據我所見,有兩種可能的解決方案。
- 創建庫,每個應用程序引用,以獲得正確的查詢
- 創建封裝每個應用程序使用的通用查詢WCF服務,並創建一個客戶端爲每個應用程序使用
我向選項2傾斜,因爲這將使我們能夠靈活地修改我們在查詢中使用的過濾器,從而一次更新每個應用程序。
的服務層次看起來像
public class QueryService
{
private readonly IRepository _repository;
public QueryService(IRepository repository)
{
_repository = repository;
}
public IEnumerable<int> GetCommonOperation()
{
return _repository.GetCommonOperation();
}
public IEnumerable<AnotherDto> AnotherCommonOperation()
{
return _repository.AnotherCommonOperation();
}
}
然後創建一個客戶端,將與QueryService
互動。
所以我的問題是什麼是創建查詢服務的唯一目標是爲多個應用程序封裝常用查詢/操作的一般方法?
那麼,這就是答案。哈哈感謝您的答覆。 – gcso