問題タブ [responsibility]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1606 参照

c# - WPF - MVVM - 新しい DataProvider 接続を担当するのは誰ですか?

これは「コーディングのスタイル」の質問かもしれませんが、この時点で本当に混乱しています。現在、MVVM パターン (ViewModel、Repository、Controller など) に従おうとしています。

しかし、誰がデータ ソースへの接続を開始する必要があるのでしょうか? 特に、複数のコントローラーがアクティブな接続を必要とする場合は?

そこにはそれほど多くの可能性はありません-すべてのコントローラー自体が新しい接続を開くか、対応するViewModelが接続を開き、それをリポジトリに渡し、リポジトリがそれをコントローラーに渡します-または、接続がさらに早くインスタンス化されます(たとえば、スタートアップ.cs)。

「完璧な」解決策がないことはわかっていますが、インスピレーションを得て、おそらく良い/ベストプラクティスを得たいと思っています.

更新 1

コード例:

0 投票する
2 に答える
259 参照

c# - C# で、_where_ がオブジェクトを複製するための経験則は何ですか?

状況は次のとおりです。元のオブジェクトの変更を避けるために、オブジェクトの複製のどこの部分を決定しようとしています。

2 つのオプションがあります。

  • 呼び出し元でオブジェクトを複製し、複製されたオブジェクトをメソッド (「呼び出し先」) に渡すことで、呼び出し先による潜在的な変更を防ぎます。
  • 呼び出し先は渡されたオブジェクトを変更するため、呼び出し先でオブジェクトを複製します。これにより、呼び出し元が引数オブジェクトの変更を望んでいないことが前提になります

この6歳の答えをさまざまな意見で見つけました。残念ながら、本当のコンセンサスがあったようには見えません。

オブジェクトのコピーをメソッドに渡す -- 誰がコピーを行うのか?

コード形式での私の質問は次のとおりです。

  • 呼び出し元でオブジェクトを複製し、複製したオブジェクトをメソッドに渡しますか?
  • 呼び出し先でオブジェクトを複製しますか?

だから、私の質問は次のとおりです。

  • 特に C# と .NET ランドで、複数の言語間でオブジェクトを複製する場所に関する経験則は何ですか?

  • 答えに関係なく、引数を変更するメソッドまたはオブジェクトを複製するメソッドの動作を文書化する良い方法は何ですか?

0 投票する
1 に答える
38 参照

c# - パラメータの変更 - 責任者は?

別のアプリケーションによって埋められるテーブルがあります。このテーブルには、 という属性が含まれていますIsMailSent

EF はRequest、データベース データに基づいて Type のオブジェクトを構築します。

オブジェクトは次のようになります。

IsMailSent == falseここで、すべてのエントリをロードしてこのメ​​ールを受信者に送信するサービスを作成したいと考えています。

私の現在のコードは次のように動作します: MailMessageService というクラスが と メソッドを取得しましStart()Stop()。メソッドは次のStartようになります。

このメソッドGetMailMessagesは、 のコレクションを受け取り、 のコレクションをRequest構築しますMailMessagesMailMessage現在、対応する Request オブジェクトへの参照を継承して含むクラスを作成しました。背後にある考え方は、MailService(メールの送信を担当する) がIsMailSentプロパティを に設定する必要があるというものtrueです。

したがって、Send()メソッドは設定する必要がありますIsMailSent = true

しかし、これはそれを行うための最良の方法ですか?SOLID Principles を理解しているので、MailServiceこのプロパティの設定に責任を負うべきではありません (メールの送信に責任があるため) - または間違っていますか?

0 投票する
1 に答える
17 参照

responsibility - エンドユーザーが自分の行動に責任を持つようにする

悪用可能なサイトを見つけて悪用できるプログラムを持っています。これを Github に投稿したところ、人々がそれを使い始めました。私は最近、ウェブサイトが悪用されていることに非常に腹を立て、私のツールを使用していることを発見したウェブサイトの 1 つの所有者から連絡を受けました (問題のトラブルシューティングのために私の電子メール アドレスが表示されます)。

ライセンス、言いたいこと (免責事項)、または誰かが私のツールを使用したときに何かを悪用したとしても、私に頼らないようにするために私ができることはありますか?

ツールを作成したので、他の人の行動を制御することはできませんが、最終的にはツールに悩まされることになると考えています。これについての助けをいただければ幸いです、ありがとう。