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
的唯一方法是通過屬性注入嗎?
感謝您的答覆。我問的原因是我有一個表單可以執行幾個命令之一。我無法想象將每個命令注入到我的服務(或其他)構造函數中。 – gcso
爲什麼不呢?一些不會是一個問題。如果你有太多的人,那不就是服務本身違反SRP的信號嗎? –
是的,你是對的。我沒有想到這一點。感謝您的評論。 – gcso