Посоветуйте книги (или блоги) по enterprise архитектуре,
в которых упор делается на максимально детальный разбор реальных примеров из жизни.
И уже на основе этих разборов выводятся какие-то теоретические обобщения.
А не наоборот, сначала разжеванная теория, а потом, небольшой иллюстрирующий её пример.
Отвечайте на это сообщение, только если у Вас хорошее настроение и в Вашем ответе планируются только конструктивные вопросы и замечания http://rsdn.ru/Info/rules.xml
Здравствуйте, igor-booch, Вы писали:
IB>Посоветуйте книги (или блоги) по enterprise архитектуре, IB>в которых упор делается на максимально детальный разбор реальных примеров из жизни. IB>И уже на основе этих разборов выводятся какие-то теоретические обобщения. IB>А не наоборот, сначала разжеванная теория, а потом, небольшой иллюстрирующий её пример.
А тебя интересует jee/spring или дотнет?
Re[2]: Книги по enterprise архитектуре основанные на примерах
Больше дотнет, а лучше без привязки к языку или фреймворкам, что-то типа Чистой архитектуры.
Книга может называться, например так "100 распространённых ошибок проектирования"
Отвечайте на это сообщение, только если у Вас хорошее настроение и в Вашем ответе планируются только конструктивные вопросы и замечания http://rsdn.ru/Info/rules.xml
Re[3]: Книги по enterprise архитектуре основанные на примера
Здравствуйте, igor-booch, Вы писали:
G>>А тебя интересует jee/spring или дотнет?
IB>Больше дотнет, а лучше без привязки к языку или фреймворкам, что-то типа Чистой архитектуры. IB>Книга может называться, например так "100 распространённых ошибок проектирования"
По дотнету не подсажу, я по джаве работаю в основном.
Кстати, реактивщина и DDD сейчас входят в моду, поэтому некоторые старые энтерпрайзные шаблоны, особенно с анемичной моделью, теряют актуальность.
Так что я бы посоветовал сразу изучать реактивщину. Она кстати основана на гофовских шаблонах, так что и гоф не помешает изучить/освежить.
Здравствуйте, igor-booch, Вы писали:
IB>Посоветуйте книги (или блоги) по enterprise архитектуре,
А что такое Enterprise архитектура? У меня просто сразу картинки в голове рождаются типа "как запилить огромный опердень монолит и не помереть", или это о чем-то другом?
Здравствуйте, kaa.python, Вы писали:
IB>>Посоветуйте книги (или блоги) по enterprise архитектуре,
KP>А что такое Enterprise архитектура? У меня просто сразу картинки в голове рождаются типа "как запилить огромный опердень монолит и не помереть", или это о чем-то другом?
Это построение сложной надежной системы с возможностью масштабирования, распределенности, высокой нагруженности, транзакционности, обмена сообщениями по разным протоколам, безопасности, логирования, интеграций, кэширования, управления развертыванием и службами имен, и т.д. Полный список можно загуглить по "JEE спецификациям" — они неплохо описывают возможности корпоративного ПО и архитектуры, из списка возможностей можно построить и саму дефиницию этого термина, почему бы и нет. Так что в общем ты прав, это о том, как запилить сложный монолит или микросервисы без изобретения велосипедов и не помереть.
Re[5]: Книги по enterprise архитектуре основанные на примера
Здравствуйте, Doc, Вы писали:
G>>Кстати, реактивщина и DDD сейчас входят в моду,
Doc>А на чем основан такой вывод? (как бы DDD уже не первый год в ходу)
Под "сейчас" я имею ввиду не "2021" год, а скорее последнее десятилетие. В энтерпрайзе же все не так быстро, да и хорошие книги по теме выходят не часто. Я тут имею ввиду, что скажем читать старые книги по ранним версиям EJB или старые книги Фаулера — это уже не так актуально, хотя для понимания темы или легаси-копролита может и имеет смысл. Потому что современные EJB переняли идеи Спринга по облегченным компонентам, так что если и читать по EJB, то начиная с JEE 7, скажем учебник Гонзалвеса "Изучаем JEE7" можно было бы посоветовать ТСу в кач-ве отправной точки, если бы он джава-энтерпрайзом интересовался.
Re[5]: Книги по enterprise архитектуре основанные на примера
Здравствуйте, s_aa, Вы писали:
G>>Кстати, реактивщина и DDD сейчас входят в моду, поэтому некоторые старые энтерпрайзные шаблоны, особенно с анемичной моделью, теряют актуальность.
_>Тут все так дружно за анемичную модель топили лет 10 назад. Что все, мода поменялась?
По моим личным ощущениям, DDD достаточно сложен, и я практически не видел корректного его применения на проектах в разных компаниях где работал, может только один раз у одного джава-гуру в годах (но его корректный DDD-код никто не смог развивать далее, и всё вернулось в анемично-полу-DDD-шную разработку). В остальном разрабы путаются (я в том числе) и применяют DDD с большим кол-вом огрехов и путаницы.
Re[6]: Книги по enterprise архитектуре основанные на примера
Здравствуйте, igor-booch, Вы писали:
G>>А тебя интересует jee/spring или дотнет?
IB>Больше дотнет, а лучше без привязки к языку или фреймворкам, что-то типа Чистой архитектуры. IB>Книга может называться, например так "100 распространённых ошибок проектирования"
А solid и гоф ты уже освоил? И базовую многопоточность.
Здравствуйте, igor-booch, Вы писали:
G>>А тебя интересует jee/spring или дотнет?
IB>Больше дотнет, а лучше без привязки к языку или фреймворкам, что-то типа Чистой архитектуры. IB>Книга может называться, например так "100 распространённых ошибок проектирования"
Еще кстати, я бы добавил в список к чтению книгу типа "Распределенные паттерны" Бёрнса, очень годное чтиво, сейчас же всё на докере и кубере работает, в ней как раз такие паттерны описаны. Я когда её начал читать, стал понимать зачем докер+кубер нужны и как их использовать, в каких кейсах.
Re: Книги по enterprise архитектуре основанные на примерах
Здравствуйте, igor-booch, Вы писали:
IB>Посоветуйте книги (или блоги) по enterprise архитектуре, в которых упор делается на максимально детальный разбор реальных примеров из жизни.
Вспомнился старый афоризм: "Примеры описанные в книгах о лидерстве никогда не читали книг о лидерстве". С архитектурой так же — примеры хорошей архитектуры из книг вряд ли основаны на других примерах из других книг.
IB>И уже на основе этих разборов выводятся какие-то теоретические обобщения. IB>А не наоборот, сначала разжеванная теория, а потом, небольшой иллюстрирующий её пример.
Есть три вида книг: справочник, учебник и руководство.
1) Справочник — содержит правила\принципы\приемы\функции и "иллюстрации" к ним. Справочник крайне полезен, но по нему нельзя научиться решать задачи. Примеры — GoF, POEAA, Reactoring to patterns, Designing Data-Intensive Applications и еще несколько похожих книг
2) Учебник обычно содержит одну историю в рамках которой показано как применять те или иные правила\принципы\приемы\функции. Примеры — ООАД Буча, DDD и куча учебников от вендоров по их технологиям. Проблема учебников в программировании в том, что они всегда описывают нереалистичные приложения. Если учиться программировать или проектировать только по учебникам, то будет получаться буллшит.
3) Руководства — описывают что надо делать или не надо, могут быть похожи на справочники если пытаются охватить обширную область. Из известных мне руководств широкого профиля: Clean Code и Pragmatic Programmer, узкого: Framework Design Guidelines для .NET.
Что касается проектирования и архитектуры, то я бы рекомендовал Design of Design Брукса (того самого который написал Мифический Человеко-Месяц). Это хорошее руководство про самому процессу проектирования, оно необходимо чтобы отличать нормальные материалы от буллшита. Это вряд ли похоже на то, что вы ищите
Далее просто изучайте возможности этого самого энтерпрайза (читайте в первую очередь справочники, во вторую — учебники), чтобы понимать как лучше решать задачи.
Re[2]: Книги по enterprise архитектуре основанные на примерах
Здравствуйте, kaa.python, Вы писали:
KP>Здравствуйте, igor-booch, Вы писали:
IB>>Посоветуйте книги (или блоги) по enterprise архитектуре,
KP>А что такое Enterprise архитектура? У меня просто сразу картинки в голове рождаются типа "как запилить огромный опердень монолит и не помереть", или это о чем-то другом?
Enterprise архитектура это когда у тебя есть уже 100500 систем, а тебе надо запилить 100501_ую в сжатые сроки и никто толком не может сказать как она должна работать и с чем должна интегрироваться.
Ключевая задача в энтерпрайзной архитектуре — правильно разложить обязанности между системами, причем так чтобы так чтобы были довольны не только пользователи и стейкхолдеры системы, которую ты создаешь, но и стейкходеры других систем.
Re[2]: Книги по enterprise архитектуре основанные на примерах
Здравствуйте, kaa.python, Вы писали:
KP>А что такое Enterprise архитектура? У меня просто сразу картинки в голове рождаются типа "как запилить огромный опердень монолит и не помереть", или это о чем-то другом?
Шаблоны корпоративных приложений. Мартин Фаулер.
Но что именно подразумевает понятие корпоративное приложение (enterprise application)? Точное определение сформулировать трудно, но дать смысловое толкование вполне возможно. Начнем с примеров.
К числу корпоративных приложений относятся, скажем, бухгалтерский учет, ведение медицинских карт пациентов, экономическое прогнозирование, анализ кредитной истории клиентов банка, страхование, внешнеэкономические торговые операции и т.п.
Корпоративными приложениями не являются средства обработки текста, регулирования расхода топлива в автомобильном двигателе, управления лифтами и оборудованием телефонных станций, автоматического контроля химических процессов, а также операционные системы, компиляторы, игры и т.д.
Корпоративные приложения обычно подразумевают необходимость долговременного (иногда в течение десятилетий) хранения данных. Данные зачастую способны "пережить"несколько поколений прикладных программ, предназначенных для их обработки, аппаратных средств, операционных систем и компиляторов.
В продолжение этого срока структура данных может подвергаться многочисленным изменениям в целях сохранения новых порций информации без какого-либо воздействия на старые. Даже в тех случаях, когда компания осуществляет революционные изменения в парке оборудования и номенклатуре программных приложений, данные не уничтожаются, а переносятся в новую среду.
Данных, с которыми имеет дело корпоративное приложение, как правило, бывает много: даже скромная система способна манипулировать несколькими гигабайтами информации, организованной в виде десятков миллионов записей; и задача манипуляции этими данными вырастает в одну из основных функций приложения.
Re: Книги по enterprise архитектуре основанные на примерах
G>По дотнету не подсажу, я по джаве работаю в основном. G>Кстати, реактивщина и DDD сейчас входят в моду, поэтому некоторые старые энтерпрайзные шаблоны, особенно с анемичной моделью, теряют актуальность. G>Так что я бы посоветовал сразу изучать реактивщину. Она кстати основана на гофовских шаблонах, так что и гоф не помешает изучить/освежить.
Очень интересно, что почитать про связь реактивщины и rich модели?
Посмотрел https://www.infoq.com/presentations/reactive-ddd/
Про реактивность понятно, но как она связаны с rich и anemic?
Или, может сами объясните поподробней
Отвечайте на это сообщение, только если у Вас хорошее настроение и в Вашем ответе планируются только конструктивные вопросы и замечания http://rsdn.ru/Info/rules.xml
Re[3]: Книги по enterprise архитектуре основанные на примера
Здравствуйте, gandjustas, Вы писали:
G>Ключевая задача в энтерпрайзной архитектуре — правильно разложить обязанности между системами, причем так чтобы так чтобы были довольны не только пользователи и стейкхолдеры системы, которую ты создаешь, но и стейкходеры других систем.
А чем это отличается от классического современного микро/макросервисного бэкенда на каком-нибудь AWS?
Я, собственно, что пытаюсь прояснить. Когда я слышу "энтерпрайзной архитектуре" мне сразу какая-то окаменелось на Java/C# из БОЛЬШОГО БАНКА (ага, всё заглавными) приходит в голову и всё. Просто модный и современный бэкенд так не кличут никогда
Здравствуйте, igor-booch, Вы писали:
G>>По дотнету не подсажу, я по джаве работаю в основном. G>>Кстати, реактивщина и DDD сейчас входят в моду, поэтому некоторые старые энтерпрайзные шаблоны, особенно с анемичной моделью, теряют актуальность. G>>Так что я бы посоветовал сразу изучать реактивщину. Она кстати основана на гофовских шаблонах, так что и гоф не помешает изучить/освежить.
IB>Очень интересно, что почитать про связь реактивщины и rich модели? IB>Посмотрел https://www.infoq.com/presentations/reactive-ddd/ IB>Про реактивность понятно, но как она связаны с rich и anemic? IB>Или, может сами объясните поподробней
Связи между реактивщиной и rich/anemic моделями нет. Реактивщина — это набор паттернов и стандартов для реализации в системе реактивности.
Что такое реактивность? Как и у эджайла, есть манифест реактивщины: https://www.reactivemanifesto.org/ru
Почитать рекомендую книгу Лозинского "Практика реактивного программирования в Spring 5", сам её сейчас изучаю и она неплохо описывает эту тему, в ней много сложных примеров из реальной жизни, то, что ты и ищешь. Других книг не читал, читал ряд статей, но статьи не дают хорошего понимания реактивщины.