command-query-separation

    0熱度

    1回答

    我目前正在研究MVC 4應用程序。我打算實現一個命令查詢分離模式來增強應用程序的性能和結構。我對我的命令感到滿意 - 它將我的視圖模型映射到我的實體,然後使用nhibernate保存我的數據。 命令和查詢將從同一個數據庫運行。 我有點不確定管理我的查詢的最佳方法。在我上一個項目中,我使用了存儲過程來完成所有讀取/查詢,然後使用automapper將我的IDataReaders映射到ViewMode

    1熱度

    2回答

    我在服務端分開我的查詢和命令如下: public class ProductCommandService{ void AddProduct(Product product); } public interface ProductQueryService{ Product GetProduct(Guid id); Product[] GetAllProducts(

    0熱度

    2回答

    我試圖將視圖模型轉換爲列表,然後將其返回給視圖,但獲取不能隱含轉換類型錯誤。 代碼: public ActionResult Index(FeedEventCommand command) { var feedEventViewModel = new FeedEventViewModel { AnimalId = command.AnimalId, A

    5熱度

    2回答

    如果CQS阻止命令返回狀態變量,那麼對於可能不會成功的命令的代碼如何?假設你不能依靠例外。 似乎任何請求/響應都是對CQS的違反。 所以看起來你會有一套「母親可能」的方法給出的命令將返回的狀態。多線程/多計算機應用程序中會發生什麼? 如果我有三個客戶端請求服務器的對象增加1(並且對象的限制爲0-100)。所有的檢查,看看他們是否可以但只有一個得到它 - 而其他兩個不能,因爲它剛剛達到極限。這似乎是

    1熱度

    2回答

    我一直在使用可在線獲得的MVVM示例中提到的基本設計模式編寫我所有的MVVM應用程序。我正在以下的圖案如下所述: 模型 本節包括DTO類以及它們的屬性和接口IDataService和類似: public class Employee { public string EmployeeName { get; set; } public string EmployeeDesigna

    0熱度

    3回答

    我正在嘗試一種新的代碼結構,我將所有巨型資源庫和工廠分解爲每個負責一個小類的負載。最重要的是,我使用動詞來表示類名,因爲我認爲這是最準確地描述每個類的意思。 每個類只有一個公共方法(稱爲「Execute」),但通常具有私有方法並且有時具有帶參數的構造方法。 例子: 前: class DocumentRepository { public List<Document> GetDocumen

    0熱度

    2回答

    在CQS(命令查詢分離)中,通常具有帶有「無效」返回值的命令和具有返回類型的查詢。 (或者我已經瞭解到...) 現在我想知道這個COMMAND是否有效,因爲基本上,我們在查詢中做同樣的事情,只是使用「out」關鍵字而不是使用return類型: public class LogTrace{ public Guid CorrelationId { get; } public Dat

    2熱度

    2回答

    我可能聽起來很愚蠢,但我真的很困惑。創建一個命令,查詢,commandhanlder,查詢處理程序和存儲庫,並使用依賴注入來解決基於查詢和命令的查詢處理程序和命令處理程序分別符合cqs或cqrs嗎? 或使用任務命令和查詢處理程序的並行庫合格爲cqrs而不是cqs? 或者它是否真的基於用例是否存在協作域的場景 - >多個用戶試圖訪問有限的數據。

    2熱度

    1回答

    數在我的web應用程序,我在頁面上跟蹤觀看次數。 眼下,在控制器的動作發出指令到數據層返回查詢結果之前,增加模型上的瀏覽次數。 這個動作似乎打破命令查詢分離的規則,因爲與請求的用戶代理提交查詢和不知不覺地發出命令(以增加觀看次數) 什麼架構決策需要採取在這個行動中維護命令 - 查詢 - 分離?

    1熱度

    3回答

    我有一個方法可以在數據庫中創建一些條目並返回它的Id。我想以某種方式分開這兩個,因爲它違反了Command-Query Separation。 例如 int CreatePost(database::Post newPost) { using(var db = new database::MainModelContainer()) { db.Posts.Add(n