Шаблони проектування програмного забезпечення

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Шаблони проектування програмного забезпечення (англ. software design patterns) — ефективні способи вирішення задач проектування програмного забезпечення. Шаблон не є закінченим зразком, який можна безпосередньо транслювати в програмний код. Об'єктно-орієнтований шаблон найчастіше є зразком вирішення проблеми і відображає відношення між класами та об'єктами, без вказівки на те, як буде зрештою реалізоване це відношення.

Зміст

[ред.] Історія

У 70-х роках двадцятого сторіччя архітектор Кристофер Александр (англ. Christopher Alexander) склав перелік шаблонів проектування. В області архітектури ця ідея не отримала такого розвитку, котрого вона досягла пізніше в області розробки програмного забезпечення.

У 1987 році Кент Бек (англ. Kent Beck) і Вард Каннігем (англ. Ward Cunningham) узяли ідеі Крістофер Александра та розробили шаблони відповідно до розробки програмного забезпечення для розробки графічних оболонок мовою Smalltalk.

У 1988 році Ерік Ґамма (англ. Erich Gamma) почав писати докторську роботу при цюрихському університеті про загальну переносимість цієї методики на розробку програм.

У 19891991 роках Джеймс Коплін (англ. James Coplien) трудився над розробкою ідіом для програмування мовою C++ та опублікував у 1991 році книгу «Advanced C++ Idioms».

У цьому ж році Ерік Ґамма закінчує свою докторську роботу та переїздить до США, де у співробітництві з Річардом Хелмом (англ. Richard Helm), Ральфом Джонсоном (англ. Ralph Johnson) та Джоном Вліссідсом (англ. John Vlissides) публікує книгу «Design Patterns — Elements of Reusable Object-Oriented Software». У цій книзі описані 23 шаблона проектування. Також команда авторів цієї книги відома суспільству під назвою Банда чотирьох (англ. Gang of Four - GoF). Саме ця книга послужила привідом до прориву методу шаблонів.

[ред.] Типи шаблонів GOF

[ред.] Шаблони GRASP

Також існує інша група шаблонів проектування, що отримала назву GRASP - General Respnsibility Assignment Software Patterns. Опис цих шаблонів наводить Крег Ларман у своїй книзі [1]. Шаблони GRASP формулюють найбільш базові принципи розподілу обов'язків між типами.

[ред.] Див. також

[ред.] Посилання

  1. Larman, Craig. Applying UML and Patterns — Third Edition. [1]

[ред.] Джерела


[ред.] Література

Алан Шаллоуей, Джеймс Р. Тротт Шаблоны проектирования. Новый подход к объектно-ориентированному анализу и проектированию = Design Patterns Explained: A New Perspective on Object-Oriented Design. — М. : «Вильямс», 2002. — 288 с. — ISBN 0-201-71594-5


Особисті інструменти
Простори назв
Варіанти
Дії
Навігація
Участь
Панель інструментів
Друк/експорт
Іншими мовами