2
コマンドが依存関係を必要とするときはいつでもプロパティーインジェクションを利用しなければなりませんか?DIはどこでCQSと適合しますか?
次のコマンドがあります。
public class AddReviewCommand
{
private ISession _session;
private readonly string _reviewSummary;
public AddReviewCommand(string reviewSummary)
{
_reviewSummary = reviewSummary;
}
public void Execute()
{
var review = new Review
{
AddedBy = Environment.Username,
AddedDateTime = DateTime.Now,
ReviewSummary = _reviewSummary
};
_session.Save(review);
}
}
注射する唯一の方法はISession
ですか?
返信ありがとうございます。私が尋ねた理由は、私はいくつかのコマンドの1つを実行できるフォームを持っているということです。私は私のサービス(または何でも)コンストラクタに各コマンドを注入することは想像できません。 – gcso
なぜですか?いくつか問題になることはありません。もしあなたが多すぎると、サービス自体がSRPに違反するというシグナルではないでしょうか? –
はい、あなたは絶対に正しいです。私はそれを考えなかった。コメントありがとう。 – gcso