Я удивлен, что многие говорят, что это заводская модель.
(Вероятно, я думаю об этом неправильно, поэтому, пожалуйста, дайте мне знать.)
Мне кажется, что у вас есть только часть дизайна. Если вы вызываете его от своего клиента, это называется «простой» фабрикой, но на самом деле это не считается шаблоном проектирования. (Не поймите меня неправильно, я делаю это все время).
В шаблоне проектирования фабрики будет указано, что ваша фабрика наследует / реализует абстрактный интерфейс фабрики / фабрики.
Затем в вашем классе, который должен использовать фабрику (клиент), вы устанавливаете тип фабрики как абстрактный / интерфейс, создавая конкретную фабрику:
т.е. -> IFactory factory = new ConcreteFactory ();
Бетонная фабрика создаст ваш IScheduleItem (оставляя его фабрике для создания конкретного типа).
В конце концов, я думаю, что все дело в слабой связи. Хотя «простая» фабрика слабо связывает конструкцию продукта с клиентом, она не отделяет фабрику. Фабричный образец также разъединяет фабричный.
Опять же, рано, я не пил кофе, и у меня есть неприятная привычка публиковать абсолютно ужасные ответы, которые упускают из виду весь вопрос.