command-query-separation

    0

    3答えて

    私は、すべての巨大なリポジトリと工場をすべて単一の責任でより小さいクラスに分割している新しいコード構造を試しています。そして、これの上にクラス名の動詞を使用しています。各クラスの意味を正確に記述するのが最良の方法だと思います。 各クラスには1つのパブリックメソッド(「実行」と呼ばれます)がありますが、多くの場合プライベートメソッドがあり、引数を持つコンストラクタもあります。 例: 前: class

    2

    1答えて

    ドメインドリブンデザインでCQRSを実装する場合は、コマンドインターフェイスとクエリインターフェイスを分離します。 ドメインモデルでは、これにより複雑さが大幅に軽減されます(特にイベントソースを使用する場合)。読者のモデルは書込みモデルとは異なります。つまり、あなたの読み書きのための別のドメインサービスのように見えます。 アプリケーションレベルでは、ドメインの読み取りと書き込みの分離のために別々の

    6

    3答えて

    私はCommand Query Separationのアイデアは好きですが、エンティティを追加しているMVCコントローラアクション内でそれを使用する方法を見分けることができず、追加後に新しいエンティティのIDが必要です。 は例えば、サービス下記の簡略化した例では、新しいアイテムを作成するために使用されます。 public ActionResult Assign(AssignViewModel vi

    5

    3答えて

    私は流暢なインターフェイスを書いて、流行のインターフェース(私は彼とエリックエバンスがその言葉を作ったことには気づいていませんでした)に書いた古い作品のMartin Fowlerを見ました。この記事では、設定者は通常、構成または作業中のオブジェクトのインスタンスを返すと述べ、CQSに違反していると述べています。 中括弧の世界では一般的な慣例は、それが CommandQuerySeparationの

    0

    1答えて

    私はOctetクラスを持っています。これは8つのサンプルを "パッケージ化"して前方に送ります。新しいサンプルを追加し、すでに一杯かどうかを確認し、Octetの8つの値から構築されたFrameデータ構造を抽出する方法があります。 Octetクラスは、「まだ完全ではないため抽出できません」と「既に完全なためにサンプルを追加できません」という2種類の例外をスローします。そのためには、クライアントコード