Кількість
|
Вартість
|
||
|
Класична книга Е. Еванса висвітлює найбільш загальний, стратегічний коло питань, пов'язаних з об'єктно-орієнтованої розробкою програмного забезпечення. Це переробка та структуризація знань про предметних областях, застосування типових архітектурних шаблонів, побудова та аналіз моделей предметних областей, проектування програмних об'єктів з точки зору якості їх взаємодії та передачі логічної структури знань, організація програм на основі великомасштабних структур, вироблення спільної мови і стратегії комунікації в групі. Підхід автора будується на динамічному рефакторинге моделі і постійної дистиляції знань. Це дозволяє досягти високого ступеня гармонії між логікою предметної області та код програми, а також достатньої гнучкості програмної архітектури для цілей зручною доопрацювання та інтеграції програмного забезпечення. Книга насичена практичними прикладами з реальних проектів.
Світове співтовариство програмістів визнає, що моделювання предметних областей — ключовий розділ проектування програмного забезпечення. У моделях предметних областей розробники виражають складні функції своїх програм, реалізуючи їх у такому вигляді, який відповідає реальним потребам користувачів. Але незважаючи на очевидну важливість предмета, існує дуже мало посібників щодо ефективного впровадження моделювання предметних областей в практику розробки програм.
Книга Еріка Еванса заповнює цей пробіл. Вона присвячена не окремим технологіям, а систематичному предметно-орієнтованого підходу. У ній представлений широкий набір прийомів і методик, заснованих на практичному досвіді, і фундаментальних принципів, що допомагають у реалізації програмних проектів із складних предметних областей. Органічно переплітаючи практику проектування та реалізації програм, ця книга містить безліч фактичних прикладів, що ілюструють застосування загальних стратегічних принципів в реальних програмних проектах.
З книги читач дізнається, як з допомогою моделі предметної області надати розробці складної системи потрібну спрямованість і динаміку. Виділено основні прийоми та зразки-шаблони, що утворюють спільну мову групи розробників. Особливо підкреслюється необхідність рефакторінгу не тільки код, але і моделі в його основі, що в поєднанні з ітераційної agile-методикою призводить до поглиблення знань про предметної області та підвищення якості взаємодії між фахівцями та програмістами. Підхід книги будується саме на цьому фундаменті, пропонуючи моделі та архітектури для систем і організацій будь-якої складності.
Зокрема, у книзі розглядаються наступні теми:
єдина мова спілкування для всієї групи розробників.
Глибока зв'язок між моделлю і програмною реалізацією.
Виділення ключових рис моделі.
Управління циклом існування об'єктів.
Написання легко интегрируемого коду предметної області.
Як зробити складний код очевидним і передбачуваним у поведінці.
Формулювання введення в предметну область.
Дистиляція ядра предметної області.
Пошук неявних понять, прихованих в моделі.
Застосування аналітичних шаблонів.
Архітектурні шаблони в моделях.
Підтримання цілісності великих систем.
Співіснування декількох моделей в одному проекті.
Організація систем у відповідності з великомасштабними структурами.
Якісні скачки в моделях.
Маючи під рукою цю книгу, розробники об'єктно-орієнтованих програм, системні аналітики та архітектори будуть завжди мати набором рекомендацій щодо організації своєї праці, створення складних і корисних моделей предметних областей, перетворенню їх на високоякісні, довгоживучі програмні продукти.
Книга призначена для підвищення кваліфікації програмістів, що працюють, зокрема, за методиками екстремального програмування і agile-розробки. Може бути корисна студентам відповідних спеціальностей.
Про автора:
Ерік Еванс є засновником Domain Language — консультативної групи, яка допомагає різним фірмам будувати і розвивати програмні системи, тісно пов'язані з їх професійною діяльністю. Автор працював в якості архітектора і програміста над великими об'єктно-орієнтованими системами у ряді складних комерційних і технічних предметних областей, починаючи з 1980-х років. Він також займається підвищенням кваліфікації груп розробників в області екстремального програмування.