From a2132fab7342878d5fc08616619741f3bc772762 Mon Sep 17 00:00:00 2001 From: Dmitry <121898072+bpmbpm@users.noreply.github.com> Date: Fri, 20 Jun 2025 11:14:24 +0300 Subject: [PATCH] Update readme.md --- EA/ADR/readme.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/EA/ADR/readme.md b/EA/ADR/readme.md index a601c148..4a078df8 100644 --- a/EA/ADR/readme.md +++ b/EA/ADR/readme.md @@ -3,13 +3,23 @@ ADR - ADR Architecture decision record - ADL Architecture description language [wiki](https://en.wikipedia.org/wiki/Architecture_description_language) ; Architecture vs Design - ADD Attribute-driven design [Architecture Based Design Method, ABD](https://en.wikipedia.org/wiki/Attribute-driven_design) - +- MDA Model-Driven Architecture [wiki](https://ru.wikipedia.org/wiki/%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0,_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC%D0%B0%D1%8F_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C%D1%8E) Создание метамодели определяется технологией моделирования MOF (Meta Object Facility), являющейся частью концепции MDA. Название концепции не совсем удачно, так как она определяет вовсе не архитектуру, а именно метод разработки программного обеспечения. Для конструирования программного приложения должна быть построена подробная, формально точная модель, из которой потом может быть автоматически генерирован исполняемый программный код приложения. +- ### ADR template - [Architecture decision record (ADR) / Architecture decision log (ADL)](https://pragmatic-km.guide/practices/knowledge-registration/registration/architecture.html) - [mediawiki.org](https://www.mediawiki.org/wiki/Architecture_decision_record_template) +### +- [Prem Chandrasekaran, Neal Ford, Mark Richards](https://www.thoughtworks.com/insights/podcasts/technology-podcasts/architecture-as-code): +Я хорошо помню MDA. На самом деле, вокруг MDA все еще ведется огромное количество академической работы, просто потому что против нее можно направить массу бесполезных усилий. Большая проблема с архитектурой на основе моделей в том, что у них были эти очень формальные языки, иногда языки диаграмм, иногда языки спецификаций, и они пытались сгенерировать программные системы, которые были бы просто кашей, и заставляли людей собираться в комнате и месяцами усиленно думать над своими диаграммами, нажимать кнопку, и получалось работающее программное обеспечение. +Мы поняли, что это не работает, потому что мир меняется гораздо быстрее, чем вы можете изменить модели, лежащие в основе этих вещей. + мой опыт работы с диаграммами как кодом был очень, очень приятным. Не каждую диаграмму все еще можно сделать в виде кода, но я первым делом смотрю, можно ли нарисовать ее в коде, а затем, если это невозможно, только тогда я смотрю на другие инструменты, такие как Draw.io или что-то в этом роде. В наши дни я по умолчанию сначала смотрю на что-то вроде PlantUML или Mermaid. +Одна из вещей, которую я написал миллион лет назад, — это плагин Rational Rose для инструмента Borland, Delphi. Вы могли бы делать круговую инженерию для модели в код Object Pascal и обратно из Object Pascal в Rational Rose, потому что у него был API расширения. +Оказалось, что это идеальный пример анти-шаблона, потому что это кажется отличной идеей, а затем она приводит вас в лес, полный драконов и монстров, и вы больше никогда не захотите туда возвращаться. + -https://doc.wikimedia.org/Wikibase/master/php/docs_adr_index.html ### ADR - [Немного о подходе Architecture Decision Records](https://habr.com/ru/companies/otus/articles/840412/) + +https://doc.wikimedia.org/Wikibase/master/php/docs_adr_index.html