Вивчіть професійний жаргон

Марк Річардс

В БУДЬ ПРОФЕСІЇ існує свій жаргон, що підвищує ефективність спілкування представників цієї професії Адвокати говорять один з одним

про Habeas Corpus, Voir Dire і Venire, теслі – про зєднання встик і внахлест і про просоченнях, а архітектори ПЗ – про ROA, двоетапному поданні та супертіпа рівнів .. Хвилиночку .. про що, вибачте .

Дуже важливо, щоб архітектори ПО незалежно від платформи, на якій вони працюють, мали у своєму розпорядженні ефективними засобами спілкування один з одним Одним з таких засобів є архітектурні шаблони і шаблони проектування Щоб ефективно працювати в якості архітектора, необхідно розуміти базові архітектурні шаблони і шаблони проектування, розрізняти їх в коді, знати, коли вони застосовуються, і вміти використовувати їх в розмові з іншими архітекторами і розробниками

Архітектурні шаблони і шаблони проектування можна розділити на чотири основні категорії: шаблони корпоративного рівня, шаблони рівня програми, шаблони інтеграції та шаблони проектування Ці категорії зазвичай визначаються рівнем абстракції шаблону в загальній архітектурі Шаблони корпоративного рівня ставляться до високорівневою архітектурі, тоді як шаблони проектування відносяться до структури і поведінки окремих компонентів загальної архітектури

Шаблони корпоративного рівня визначають «каркас» високорівневою архітектури До числа найпоширеніших архітектурних шаблонів відносяться архітектура, керована подіями (EDA, Event-Driven Architecture), сервіс-орієнтована архітектура (SOA, Service-Oriented Architecture), ресурсно-орієнтована архітектура (ROA, Resource-Oriented Architecture) і конвеєрна архітектура (pipeline architecture)

Шаблони рівня програми описують дизайн програми або підсистеми в контексті більш великої корпоративної архітектури До цієї категорії відносяться добре відомі шаблони J2EE (наприклад, Session Facade (Фасад сесії) і Transfer Object (обєкт переміщення)), а також шаблони, описані в книзі Мартіна Фаулера (Martin Fowler) «Patterns of Enterprise Application Architecture»[9] (Addison-Wesley Professional)

Шаблони інтеграції відіграють важливу роль у проектуванні та описі концепцій, повязаних тим, як компоненти, додатки і підсистеми спільно використовують інформацію і функціональність Ось деякі приклади шаблонів інтеграції: загальний доступ до файлів, видалені виклики процедур, різні шаблони передачі повідомлень Описи цих шаблонів см http://wwwenterpriseintegrationpatternscom/eaipatternshtmL

Знання основних шаблонів з книги «банди чотирьох» «Design Patterns: Elements of Reusable Object-Oriented Software»[10] (Addison-Wesley Professional) обовязково для кожного архітектора На перший погляд може здатися, що ці шаблони ставляться до занадто низькому для архітектора програмних продуктів рівню, однак вони – Частина лексикону, що дозволяє архітекторам і розробникам ефективно спілкуватися

Архітектор повинен також знати і розуміти суть різних антіпаттернов Антіпаттерни (термін введений Ендрю Кенигом (Andrew Koenig)) являють собою повторювані процеси, що призводять до неефективних результатів От добре відомі приклади антіпаттернов: Analysis Paralysis (аналітичний параліч), Design By Committee (розробка комітетом), Mushroom Management (управління грибами), Death March (шлях камікадзе[11]) Знання цих шаблонів допоможе вам уникнути багатьох типових помилок Список поширених антіпаттернов наведено за адресою http:// ruwikipediaorg / wiki / Анти-патерн

Архітектори програмного забезпечення повинні вміти спілкуватися один з одним ясним, лаконічним і ефективним чином На допомогу приходять шаблони нам, архітекторам, залишається лише вивчити і зрозуміти їх

Біографія автора наведена на сторінці 23

Джерело: Форд Н, Найгард М, де Ора Б, 97 етюдів для архітекторів програмних систем – Пер з англ – СПб: Сим-вол-Плюс, 2010 – 224 с, Мул

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*