Шаблони проєктування програмного забезпечення (англ. software design patterns) — ефектні способи вирішення задач проєктування програмного забезпечення. Шаблон не є закінченим зразком, який можна безпосередньо транслювати в програмний код. Об'єктно-орієнтований шаблон найчастіше є зразком вирішення проблеми і відображає відношення між класами та об'єктами, без вказівки на те, як буде зрештою реалізоване це відношення.
Історія
У 70-х роках двадцятого сторіччя архітектор (англ. Christopher Alexander) склав перелік шаблонів проєктування. В області архітектури ця ідея не отримала такого розвитку, котрого вона досягла пізніше в області розробки програмного забезпечення.
У 1987 році Кент Бек (англ. Kent Beck) і Вард Каннігем (англ. Ward Cunningham) узяли ідеї Крістофера Александра та розробили шаблони відповідно до розробки програмного забезпечення для розробки графічних оболонок мовою Smalltalk.
У 1988 році Еріх Ґамма (англ. Erich Gamma) почав писати докторську роботу при цюрихському університеті про загальну переносимість цієї методики на розробку програм.
У 1989–1991 роках Джеймс Коплін (англ. James Coplien) трудився над розробкою ідіом для програмування мовою та опублікував у 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 Responsibility Assignment Software Patterns. Опис цих шаблонів наводить Крег Ларман у своїй книзі. Шаблони GRASP формулюють найбільш базові принципи розподілу обов'язків між типами. До складу шаблонів GRASP входить 9 шаблонів:
- Інформаційний експерт (Information Expert)
- Творець примірників класу (Creator)
- Низька зв'язаність (Low Coupling)
- Високе зчеплення (High Cohesion)
- Контролер (Controller)
- Поліморфізм (Polymorphism)
- Штучний (Pure Fabrication)
- Перенаправлення (Indirection)
- Стійкий до змін (Protected Variations)
Див. також
Посилання
- [en]. Applying UML and Patterns — Third Edition. [1] [ 30 червня 2003 у Wayback Machine.]
Джерела
- Design Patterns: Elements of Reusable Object-Oriented Software [ 9 листопада 2012 у Wayback Machine.]
- Шаблони в процесі розробки[недоступне посилання з серпня 2019]
- Книга «Дизайн-патерни — просто, як двері» [ 18 серпня 2017 у Wayback Machine.]
Література
Алан Шаллоуей, Джеймс Р. Тротт. Шаблоны проектирования. Новый подход к объектно-ориентированному анализу и проектированию = Design Patterns Explained: A New Perspective on Object-Oriented Design. — М. : «Вильямс», 2002. — 288 с. — .
Ця стаття потребує додаткових для поліпшення її . (березень 2017) |
Це незавершена стаття про програмування. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Shabloni proyektuvannya programnogo zabezpechennya angl software design patterns efektni sposobi virishennya zadach proyektuvannya programnogo zabezpechennya Shablon ne ye zakinchenim zrazkom yakij mozhna bezposeredno translyuvati v programnij kod Ob yektno oriyentovanij shablon najchastishe ye zrazkom virishennya problemi i vidobrazhaye vidnoshennya mizh klasami ta ob yektami bez vkazivki na te yak bude zreshtoyu realizovane ce vidnoshennya IstoriyaU 70 h rokah dvadcyatogo storichchya arhitektor angl Christopher Alexander sklav perelik shabloniv proyektuvannya V oblasti arhitekturi cya ideya ne otrimala takogo rozvitku kotrogo vona dosyagla piznishe v oblasti rozrobki programnogo zabezpechennya U 1987 roci Kent Bek angl Kent Beck i Vard Kannigem angl Ward Cunningham uzyali ideyi Kristofera Aleksandra ta rozrobili shabloni vidpovidno do rozrobki programnogo zabezpechennya dlya rozrobki grafichnih obolonok movoyu Smalltalk U 1988 roci Erih Gamma angl Erich Gamma pochav pisati doktorsku robotu pri cyurihskomu universiteti pro zagalnu perenosimist ciyeyi metodiki na rozrobku program U 1989 1991 rokah Dzhejms Koplin angl James Coplien trudivsya nad rozrobkoyu idiom dlya programuvannya movoyu C ta opublikuvav u 1991 roci knigu Advanced C Idioms U comu zh roci Erik Gamma zakinchuye svoyu doktorsku robotu ta pereyizdit do SShA de u spivrobitnictvi z Richardom Gelmom angl Richard Helm Ralfom Dzhonsonom angl Ralph Johnson ta Dzhonom Vlissidsom angl John Vlissides publikuye knigu Design Patterns Elements of Reusable Object Oriented Software U cij knizi opisani 23 shablona proyektuvannya Takozh komanda avtoriv ciyeyi knigi vidoma suspilstvu pid nazvoyu Banda chotiroh angl Gang of Four GoF Same cya kniga posluzhila privodom do prorivu metodu shabloniv Tipi shabloniv GOF Tvirni shabloni Strukturni shabloni Shabloni povedinki Shabloni paralelnih operacijShabloni GRASP Takozh isnuye insha grupa shabloniv proyektuvannya sho otrimala nazvu GRASP General Responsibility Assignment Software Patterns Opis cih shabloniv navodit Kreg Larman u svoyij knizi Shabloni GRASP formulyuyut najbilsh bazovi principi rozpodilu obov yazkiv mizh tipami Do skladu shabloniv GRASP vhodit 9 shabloniv Informacijnij ekspert Information Expert Tvorec primirnikiv klasu Creator Nizka zv yazanist Low Coupling Visoke zcheplennya High Cohesion Kontroler Controller Polimorfizm Polymorphism Shtuchnij Pure Fabrication Perenapravlennya Indirection Stijkij do zmin Protected Variations Div takozhModel View ViewModel CQRS Arhitekturni shabloni programnogo zabezpechennya Zakon DemetriPosilannya en Applying UML and Patterns Third Edition 1 30 chervnya 2003 u Wayback Machine DzherelaDesign Patterns Elements of Reusable Object Oriented Software 9 listopada 2012 u Wayback Machine Shabloni v procesi rozrobki nedostupne posilannya z serpnya 2019 Kniga Dizajn paterni prosto yak dveri 18 serpnya 2017 u Wayback Machine LiteraturaAlan Shallouej Dzhejms R Trott Shablony proektirovaniya Novyj podhod k obektno orientirovannomu analizu i proektirovaniyu Design Patterns Explained A New Perspective on Object Oriented Design M Vilyams 2002 288 s ISBN 0 201 71594 5 Cya stattya potrebuye dodatkovih posilan na dzherela dlya polipshennya yiyi perevirnosti Bud laska dopomozhit udoskonaliti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Zvernitsya na storinku obgovorennya za poyasnennyami ta dopomozhit vipraviti nedoliki Material bez dzherel mozhe buti piddano sumnivu ta vilucheno berezen 2017 Ce nezavershena stattya pro programuvannya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi