Мне нужно перепроектировать существующее приложение, в котором есть класс репозитория, обрабатывающий только указанный тип c объекта. Свойства и реализация объекта указываются c только для одного типа. Мне нужно расширить возможности этого класса репозитория так, чтобы он мог обрабатывать запросы для разных типов объектов, имеющих разные реализации, поскольку завтра таких объектов может быть 'n'.
Может кто-нибудь подсказать, что будет лучший способ сделать такой редизайн.
Существующий дизайн, как показано ниже:
class SomeClass
{
string colour {get; set;}
string type {get; set;}
}
class Service : IService
public void DoWork()
{
Repository repo = new Repository();
repo.DoRepoWork();
}
public void DoSomeOtherWork()
{
Repository repo = new Repository();
repo.DoSomeOtherRepoWork();
}
class Repository : IRepository
{
public void DoRepoWork()
{
SomeClass obj = new SomeClass();
obj.Color = "Blue";
obj.Type = "Line";
//Implementation specific to only one type of SomeClass Object
}
public void DoSomeOtherRepoWork()
{
SomeClass obj = new SomeClass();
obj.Color = "Blue";
obj.Type = "Line";
//Implementation specific to only one type of SomeClass Object
}
}