Когда мое приложение запускается, ему нужно получить экземпляр правильного класса DAL (в настоящее время их 4) в зависимости от того, какой пользователь вошел.
Это все еще считается "фабричным" шаблоном, если вместо того, чтобы создавать экземпляры этих классов DAL, я просто возвращаю правильный статический экземпляр этого? У меня нет необходимости постоянно создавать эти объекты, поскольку все пользователи могут делиться ими.
Psuedocode:
public class RepositoryFactory
{
public static IRepository repoA = new FranksLumberRepo();
public static IRepository repoB = new LowesHardwareRepo();
public static IRepository repoC = new HackmansHardwareRepo();
public static IRepository repoD = new TomsHardwareRepo();
public IRepository createRepo(User currentUser)
{
switch(User.Store)
{
case FrankLumber:
return repoA;
case LowesHardware:
return repoB;
case Hackmans:
return repoC;
case TomsHardware:
return repoD;
default:
throw exception;
}
}
}