Метод, о котором вы говорите, является ca lled a Дизайн-шаблон. Заводский метод - это шаблон создания, который предотвращает жесткое кодирование конструкторов и, вероятно, является одним из наиболее распространенных объектно-ориентированных шаблонов проектирования. Главное, чтобы понять здесь, это то, что шаблон Factory создает интерфейс для создания объектов. Он продвигает принцип DRY (не повторяйте себя) за счет уменьшения количества повторяющегося кода.
Если ваш код должен быть портативным, вам нужно избегать вызовов конструктора hardcoding в приложении. Иногда лучше всего, чтобы подклассы решали, какой класс следует создавать.
Вы задали разницу между созданным фабрикой объектом и объектом, созданным без него? Они оба являются неподвижными объектами, а класс, вызываемый фабричным методом за кулисами, создает объект и возвращает его обратно вам. Некоторые объекты настолько сложны, что имеет смысл использовать предопределенный интерфейс для создания объекта. Наконец, иногда информация о создании объекта не должна подвергаться пользователю.
Очень сложно узнать, что здесь задают. В чем вопрос (который очень сложно определить без какого-либо вопросительного знака)? –
Что вы подразумеваете под «Нормальным»? Заводские классы являются нормальными. На самом деле в классе 'java.lang.util' есть классы фабрик (например, класс' Collections'. Factory - это шаблон проектирования, FactoryClasses реализует этот шаблон дизайна. – Aurand