Pracuję nad aplikacją i staram się przestrzegać SOLIDNYCH zasad Roberta C. Martina. Używam wzorca poleceń i zastanawiałem się nad implementacją. We wszystkich jego przykładach w Clean Code i Agile Principles, Patterns and Practices w języku C# jego obiekty poleceń nigdy nie zwracają niczego. Jego interfejs poleceń jest;Wykorzystanie wzorca poleceń do zwracania danych
public interface Command
{
void Execute();
}
Wszystkie przykłady są „AddEmployee”, „DelEmployee”, „EditEmployee”, itd. Czy mam polecenie, które byłyby „GetAllEmployees” czy jest jakiś inny specjalny „interaktora” Chciałbym stworzyć dla ten konkretny cel? Jednym ze sposobów, w jaki myślę o tym konkretnym przypadku, jest posiadanie dwóch interfejsów, które nie są generyczne, jak ten powyżej i taki ogólny;
public interface Command<T>
{
T Execute();
}
Co Pytam to byłoby to dopuszczalne realizacja tego wzorca czy istnieje inny sposób chcemy uzyskać dostęp do danych z aplikacji?
Wygląda na to, że próbujesz wdrożyć CQS (rozróżnianie poleceń i segregacji zapytań). Polecenia nigdy nie powinny zwracać żadnych danych. W przypadku zapytań masz określone obiekty zapytań. Po prostu zmień 'Command' na 'Query ' i jesteś dobry. –
alexn