Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Factory Method

Производящие шаблоны

Производящие шаблоны предназначены для обеспечения выполнения одной из самых распространённых задач в ООП – создания экземпляров объектов в системе. В ходе работы большинства объектно-ориентированных систем, независимо от уровня их сложности, создаётся множество экземпляров объектов. Производящие шаблоны облегчают процесс создания объектов, предоставляя разработчику следующие возможности:

  • Единый способ получения экземпляров объектов. В системе обеспечивается механизм создания объектов без необходимости идентификации определённых типов классов в программном коде.
  • Простота. Некоторые из шаблонов упрощают процесс создания объектов до такой степени, что полностью избавляют разработчика от необходимости написания большого и сложного программного кода для получения экземпляра объекта.
  • Учёт ограничений при создании. Некоторые шаблоны позволяют при создании объектов налагать ограничения на их тип или количество в соответствии с установленными требованиями системы.

 

 

Мы рассмотрим следующие производящие шаблоны:

  • Factory Method.
  • Singleton.
  • Abstract Factory.

 

Определяет стандартный метод создания объекта, не связанный с вызовом конструктора, оставляя решение о том, какой именно объект создавать за подклассами.

 

При этом классу, который будет вызывать статический метод ProductFactory.createProduct() нет необходимости знать какой конкретно экземпляр будет возвращён, он будет работать только с интерфейсом:

 

Product product = ProductFactory.createProduct();

 

//do something with the product

 

Реализация метода createProduct() может создавать тот или иной подкласс интерфейса Product, в зависимости от конфигурации, например:

public static Product createProduct() throws Exception{

return Class.forName(System.getProperty(“productclass”)).newInstance();

}

После чего можно запускать JVM:

java –Dproductclass=mypackage.ProductB my.MainClass

 

Таким образом можно избежать зависимости кода от конкретных реализаций того или иного класса. Однако для того чтобы этого добыться надо следить, чтобы классы которые могут быть подменены таким образом реализовывали один и тот же абстрактный интерфейс. По такому принципу сделан DriverManager.getConnection() в JDBC API.

<== предыдущая лекция | следующая лекция ==>
Введение в шаблоны проектирование. Определение шаблона. Основные концепции | Singleton
Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 446; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.