Я пытаюсь реализовать SOLID, и я просто разделяю свой интерфейс IGet на 3 небольших интерфейса для отдельных конкретных c целей каждого класса, реализующего один интерфейс
Так что я разделил IGet в INsiGetV20, INsiGetArtefact, INsiGetGeneri c.
public interface INsiGet : INsiGetV20, INsiGetArtefact, INsiGetGeneric
{
}
public class NsiGetRest : INsiGet
{
readonly INsiGetV20 _nsiGetV20;
readonly INsiGetArtefact _nsiGetArtefact;
readonly INsiGetGeneric _nsiGetGeneric;
public NsiGetRest(INsiGetV20 nsiGetV20, other...)
{
_nsiGetV20 = nsiGetV20;
_nsiGetArtefact = new NsiGetArtefactRest(other...);
_nsiGetGeneric = new NsiGetGenericRest(other...);
}
public async Task GetRequestOne()
{
await _nsiGetV20.GetRequestOne();
}
public async Task<int> GetRequestTwo(int id, string option);
{
return await _nsiGetArtefact.GetRequestTwo(id, option);
}
public async Task<string> GetRequestThree(int id);
{
return await _nsiGetGeneric.GetRequestThree(id);
}
}
NsiGetRest используется с шаблоном фасада, таким образом, я использую 3 различных класса для одного большого класса. Это правильный путь?
Лучше создать новый интерфейс вместо IGet с собственным настраиваемым подписчиком?
Спасибо всем за предложение