2015-05-18 4 views
-2

Я студент, и сегодня этот вопрос задал в моем viva voce, и я даже не слышал об этом раньше.Что такое заводской метод в java?

Я искал в Интернете об этом, и я всегда находил результаты очень сложными и трудными для меня толкования и понимания.

Пожалуйста, любой ветеран, присутствующий в этом сообществе, объяснит мне это на простом языке.

Я не хочу просить ни одного ложного кормления, но я старался изо всех сил искать его и просто не мог понять ничего.

Пожалуйста, объясните мне это на простом языке (я хорошо разбираюсь в программировании, но все же я понял, что эту концепцию трудно понять).

+1

Есть десятки ссылок на гугле ... –

+0

* «Пожалуйста, объясните мне на простом языке» * ... Погоди, я просто пойду найти свою ложку! :-) –

ответ

2

Способ фабрика (обычно статический) метод, который служит в качестве способа для создания (или лучше, обеспечивая) экземпляров класса. Это альтернатива простому конструктору или полному Factory pattern.

Преимущества фабричного метода над простым конструктором являются

  • читаемость: Car newCar = Car.duplicateOf(oldCar) показывает намерение намного лучше, чем Car newCar = new Car(oldCar)
  • Возможность вернуть что-то не новый: MonetaryAmount.valueOf(0) может возвращать константу всегда используется для нуля. Вы также можете реализовать свою собственную форму: interning.
  • Возможность вернуть другой класс:. Person.forAge(int age) может возвращать экземпляр Adult или Child в зависимости от возраста проходила в

преимущество перед полным рисунком фабрики является то, что проще реализовать и использовать , Вы используете только фабричный шаблон, если вам нужны взаимозаменяемые реализации.

Смотрите также http://en.wikipedia.org/wiki/Factory_method_pattern

1

Применение: Используйте Factory Method шаблон, когда

  • класс не может предвидеть класс объектов он должен создать

  • класс хочет его подклассы, чтобы указать объекты, которые он создает

  • классы делегируют ответственность одному из нескольких вспомогательных подклассов, и вы хотите локализовать знание того, какой вспомогательный подкласс является делегатом.

This link will surely help you

Смежные вопросы