Я пытаюсь выяснить, должен ли я продолжить работу с текущим шаблоном в приложении, в котором я работаю, или преобразовать его в нечто другое.
У меня есть набор классов коллекций из общей базы List. Эти классы имеют открытые конструкторы, но содержат только статические методы, которые возвращают коллекции. Они выглядят так:
public class UserObjCollection : BaseCollection<UserObj>
{
public static UserObjCollection GetAllUserObj()
{
UserObjCollection obj = new UserObjCollection();
obj.MapObjects(new UserObjDataService().GetAllUserObj());
return obj;
}
}
Является ли это паттерном или анти-паттерном и каковы его преимущества по сравнению с прямым заводским паттерном?
РЕДАКТИРОВАТЬ: Я склоняюсь к удалению этих физических коллекций и перемещению их статических методов на уровень доступа к данным (UserObjDataService). Существует множество типов объектов, поэтому мне нужно хранить код в отдельных местах, но почти все они имеют фабричный объект 1: 1 в слое данных.