2. UML-диаграмма для паттерна Singleton
171
“Young Scientist” . # 4 (138) . January 2017
Computer Science
Цель применения данного паттерна заключается в
ограничении числа создаваемых объектов класса (чаще
всего оставить возможность создавать единственный эк-
земпляр объекта какого-либо класса).
Примером применения данного шаблона является кэш,
Connection pool или класс-логгер, который записывает
сообщения в файл или консоль. Создается один экзем-
пляр, которым пользуются все объекты приложения.
В качестве реализации используют приватный кон-
структор и публичный статический метод getInstance
(), возвращающий ссылку на единственный экземпляр
класса.
Рис.
3. Пример реализации паттерна Singleton на языке Java
Польза от использования паттернов заключается в
следующем:
— Описание решения целого класса характерных про-
блем;
— Унификация терминологии, названий модулей
и элементов проекта. Значительно облегчает взаимо-
действие программистов между собой. Вместо объяс-
нения, что здесь есть приватный конструктор и кака-
я-то особая схема создания объектов, можно простоя
сказать, что здесь использован Singleton. Это экономит
значительное количество времени в процессе разра-
ботки;
— Позволяет, отыскав удачное решение, пользоваться
им снова и снова;
— В отличии от идиом, шаблоны независимы от при-
меняемого языка программирования.
Недостатки:
— шаблоны могут консервировать громоздкую и ма-
лоэффективную систему понятий, разработанную узкой
группой;
— когда количество шаблонов возрастает, превышая
критическую сложность, исполнители начинают игнори-
ровать шаблоны и всю систему, с ними связанную;
— есть мнение, что слепое применение шаблонов из
справочника, замедляет профессиональный рост про-
граммиста, так как подменяет творческую работу механи-
ческим подставлением шаблонов.
Таким образом, паттерны это эффективные способы
решения характерных задач проектирования. Они не яв-
ляются законченным образцом проекта, они лишь способ
решения, «повод подумать». Шаблоны не являются па-
нацеей, но способны дать возможность сильно повысить
свой уровень разработчика, использовать лучший опыт,
но самое главное заключается в том, что шаблоны проек-
тирования — ступенька к становлению Computer Science
как науки, а не ремесленничества.
Литература:
1. Гамма, Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Пат-
терны проектирования. СПб.: Питер, 2001.
2. Ларман, К. Применение UML и шаблонов проектирования. Вильямс, 2002.
3. DeanLeffingwell, Don Widrig. Managing Software Requirements. Addison-Wesley, 2000.
4. Rational Unified Process. Versions 2001–2003. Rational Software Corporation. http://www. rational. com/
5. Мартин Фаулер — Архитектура корпоративных программных — М.: «Вильямс», 2007. — с. 544.
Do'stlaringiz bilan baham: |