Изучаем паттерны: Cat Factory Method

Цель паттерна:

Создается специфический класс - интерфейс базового абстрактного класса (создатель интерфейса определяет имена методов, списки аргументов и типы возвращаемых значений, но не тела методов). Конкретная реализация класса-наследника определяется тем, какие параметры были переданы при создании.


Это позволяет использовать в коде программы не специфические классы, а манипулировать абстрактными объектами на более высоком уровне.


Используется в следующих случаях:


- класс не имеет информации о том, какой тип объекта он должен создать;

- класс передает ответственность по созданию объектов наследникам;

- необходимо создать объект в зависимости от входящих данных.


Реализация класса:

Создается класс-интерфейс Cat и реализацию его функций в потомках класса Cat. Далее создается класс-фабрика CatFactory.


Класс CatFactoryDemo использует класс-фабрику CatFactory для создания объектов класса Cat. Мы передаем параметр - коэффициент веса кота, для определения того, какой кот будет создан с помощью функции getCatMassFactor().

Шаг первый:


Создаем класс-интерфейс Cat.java

Шаг второй:

Создаем классы, имеющие интерфейс Cat и реализацией метода toJump()


ThinCat.java

NormalCat.java

FatCat.java

Шаг третий:

Создаем класс-фабрику CatFactory для генерирования различных объектов класса Cat на основе переданной в класс-фабрику CatFactory информации.


CatFactory.java

Шаг четвертый:

Создаем класс CatFactoryDemo, который использует класс-фабрику CatFactory для создания объектов класса Cat.


CatFactoryDemo.java

Программа выведет результат:


ThinCat has jumped-up like a bird.

NormalCat has jumped-up.

FatCat can't jump.

Главный минус метода - необходимость создавать наследника Creator для каждого нового типа продукта.

На том и откланяюсь.) уж больно спать хочется)

Правила сообщества

Прошу воздержаться от взаимных оскорблений.

Больше позитива, ведь программирование - это весело)

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества