Я записываю слой данных серверного SPA Blazor (только для одного проекта) и следую примеру, где учитель играет с одним объектом домена: Сотрудник. Таким образом, у него есть класс EmployeeService
для внедрения, и этот класс реализует IEmployeeService
. В моем случае у меня есть еще несколько таких классов:
public interface IDesignManagerService
{
Task<List<DesignManager>> GetDesignManagers();
Task<bool> CreateDesignManager(DesignManager newStage);
Task<bool> EditDesignManager(byte id, DesignManager modifiedDesignManager);
Task<DesignManager> SingleDesignManager(byte id);
Task<bool> DeleteEmployee(byte id);
}
public interface IFundedService
{
Task<List<Funded>> GetFunded();
Task<bool> CreateFunded(Funded newStage);
Task<bool> EditFunded(byte id, Funded modifiedFunded);
Task<Funded> SingleFunded(byte id);
Task<bool> DeleteEmployee(byte id);
}
public interface IGateService
{
Task<List<Gate>> GetGates();
Task<bool> CreateGate(Gate newStage);
Task<bool> EditGate(byte id, Gate modifiedGate);
Task<Gate> SingleGate(byte id);
Task<bool> DeleteEmployee(byte id);
}
Сразу же я чувствую, что должен быть общий интерфейс с методами basi c, чтобы я мог каким-то образом использовать тип Dynami c как Create<Employee>
или Create<Gate>
. Это может быть достигнуто здесь? Я знаю, чего я могу хотеть, но не могу найти помощи из-за недостаточного знакомства с шаблоном.