«Що означає ім’я?», Або Як троянда перетворюється на капусту

Сем Гардінер

Я випадково підслухав розмову архітекторів, які приймали рішення про необхідність додаткових рівнів в їх архітектурі Вони були праві, але, як це нерідко трапляється, підійшли до справи дещо не з того боку Вони намагалися створити інфраструктуру, яка включала б у себе бізнес-логіку Замість того щоб вирішувати конкретне завдання, вони задумали створити інфраструктуру, яка інкапсулює базу даних і створює обєкти І при цьому вона повинна була використовувати обєктно-реляційні відображення І повідомлення І веб-служби І мала робити масу інших Класних Штук

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

У нашому конкретному випадку швидкий перегляд історії версій вихідного коду виявив всю глибину проблеми Звичайно, в ньому виявилося безліч порожніх «реалізацій» інтерфейсів Але найсмішніше, що навіть без нормального коду імена вже мінялися тричі Спочатку було вибрано імя Client API (причому під «клієнтом» мався на увазі замовник, а не клієнт в контексті моделі «клієнт-сервер»), а остання версія називалася ClientBusinessObjects Воістину чудове імя: туманне, гранично широке і збиває з пантелику

Звичайно, імя – це всього-навсього покажчик Як тільки всі учасники будуть знати, що імя – це просто імя, а не архітектурна метафора, ви зможете рухатися далі Але якщо ви не можете домовитися про виборі імені, яке було б достатньо конкретним, щоб ви відразу могли зрозуміти, підходить воно чи ні, то вам буде складно навіть приступити до вирішення завдання Всі проектування спрямоване на реалізацію намірів (наприклад, швидкість, гнучкість, економічність), а імена відображають ці наміри

Якщо ви не в змозі що-небудь назвати, то не зможете це і реалізувати Якщо ви міняєте імя вже втретє, призупините свою діяльність і спробуйте зрозуміти, що ж ви збираєтеся побудувати

Після тривалих розваг з компютерами (від написання ігор на Basic на компютері ВВС до застосування Pascal, Mathematica і LabVIEW для обробки експериментальних даних, які зберігалися в «базі даних »з скріплених скотчем папок) Сем Гардінер (Sam Gardiner) перейшов до професійної розробці ПЗ Він працює в сфері програмування протягом шести років

Джерело: Форд Н, Найгард М, де Ора Б, 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>

*

*