私はアプリケーションに取り組んでおり、Robert C. MartinのSOLIDの原則に従っています。私はコマンドパターンを使用していますが、実装については不思議でした。クリーンコードとアジャイルの原則のすべての例では、C#のコマンドオブジェクトは決して何も返しません。彼のコマンドインタフェースは次のとおりです。データを返すためのコマンドパターンの使用
public interface Command
{
void Execute();
}
例の全てが等「AddEmployee」、「DelEmployee」、「EditEmployee」、ある私は「にgetAllEmployees」だろうコマンドを持っているか、私が作成し、いくつかの他の特別な「インターアクター」があるだろうその特定の目的は?私がその特定のケースを扱うことを考えている1つの方法は、上記のような非汎用的なものと、このような一般的なものとの2つのインターフェースを持つことです。
public interface Command<T>
{
T Execute();
}
これはこのパターンの受け入れ可能な実装ですか、それともアプリケーションからデータにアクセスする別の方法ですか?
CQS(コマンドとクエリの分離)を実装しようとしているようです。コマンドはデータを返すべきではありません。クエリの場合、特定のクエリオブジェクトがあります。単に 'Command'の名前を 'Query 'に変更してください。 –
alexn