Size: a a a

Software Design/Architecture/Zen

2021 February 05

ES

Eugene She in Software Design/Architecture/Zen
Тру стори
источник

SP

Sergey Protko in Software Design/Architecture/Zen
но вообще это конечно обман. Секрет в тупых и понятных интерфейсах а код может быть и сложным
источник

ES

Eugene She in Software Design/Architecture/Zen
Сложная грань. Если оценивать отдельные какие то пакеты то наверное да.  Но в целом в проекте сложность кода оценивать приходится исходя из его реализации тех же интерфейсов
источник

VS

Vladimir Smirnov in Software Design/Architecture/Zen
Eugene She
Сложная грань. Если оценивать отдельные какие то пакеты то наверное да.  Но в целом в проекте сложность кода оценивать приходится исходя из его реализации тех же интерфейсов
Ну как кажется, «тупой и понятный код» становится таковым, когда легко понять Что он делает, это про интерфейсы, а вот Как он это делает - это про реализацию и там у каждого всегда своё мнение все равно
источник

ES

Eugene She in Software Design/Architecture/Zen
Vladimir Smirnov
Ну как кажется, «тупой и понятный код» становится таковым, когда легко понять Что он делает, это про интерфейсы, а вот Как он это делает - это про реализацию и там у каждого всегда своё мнение все равно
Да, но вам же приходится в проектах поддерживать реализацию а не сами интерфейсы
источник

DK

Daniil Kostin in Software Design/Architecture/Zen
Human Human
Мне кажется это чисто интуитивное познание (опыт). Когда нужно запариться, а когда стоит сэкономить время.
Зависит от выделяемых ресурсов - это к менеджменту
источник

DO

Denis Obolenskiy in Software Design/Architecture/Zen
К слову про DDD - довольно интересный доклад https://www.youtube.com/watch?v=rFiuLeSFZsA
YouTube
Максим Аршинов — Блеск и нищета предметной области
Мартин Фаулер в книге «Patterns of Enterprise Application Architecture» описывает «Модель предметной области (Domain Model)» как сложный подход к организации бизнес-логики Метод заключается в сознании классов, соответствующих объектам предметной области из реального мира как с точки зрения структуры данных, так и поведения При этом технические аспекты, такие как хранение данных, аутентификация и авторизация, управление транзакциями, выносится за пределы слоя бизнес-логики

Паттерн реализуется одним из двух способов:

1 Богатая (насыщенная) модель — данные и поведение инкапсулируются внутри объектов предметной области
2 Анемичная модель — в объектах предметной области инкапсулируются только данные, поведение (методы) выносится в отдельный слой сервисов

Фаулер и Эванс считают анемичную модель антипаттерном Однако многие кодовые базы, с которыми доводилось работать спикеру, реализованы в стиле «анемичной» модели Доклад посвящен сравнению сильных и слабых сторон обоих подходов и не очевидным деталям реализации модели…
источник

МХ

Максим Храмцов... in Software Design/Architecture/Zen
Может кто-то подсказать статью где с архитектурной точки зрения обосновывается преимущества выбора descriminated union для моделирования домена над флажком ? синяя книга по DDD и "Domain Modeling Made Functional"  - это оно?
источник

DS

Dmytro Striletskyi in Software Design/Architecture/Zen
Привет! Можете кинуть ссылку на какой-то крутой доклад/туториал/книгу/курс где классно описывается общение между сервисами на основе ивентов (Kafka в моем случае), пожалуйста?
источник

А

Антон in Software Design/Architecture/Zen
Denis Obolenskiy
К слову про DDD - довольно интересный доклад https://www.youtube.com/watch?v=rFiuLeSFZsA
YouTube
Максим Аршинов — Блеск и нищета предметной области
Мартин Фаулер в книге «Patterns of Enterprise Application Architecture» описывает «Модель предметной области (Domain Model)» как сложный подход к организации бизнес-логики Метод заключается в сознании классов, соответствующих объектам предметной области из реального мира как с точки зрения структуры данных, так и поведения При этом технические аспекты, такие как хранение данных, аутентификация и авторизация, управление транзакциями, выносится за пределы слоя бизнес-логики

Паттерн реализуется одним из двух способов:

1 Богатая (насыщенная) модель — данные и поведение инкапсулируются внутри объектов предметной области
2 Анемичная модель — в объектах предметной области инкапсулируются только данные, поведение (методы) выносится в отдельный слой сервисов

Фаулер и Эванс считают анемичную модель антипаттерном Однако многие кодовые базы, с которыми доводилось работать спикеру, реализованы в стиле «анемичной» модели Доклад посвящен сравнению сильных и слабых сторон обоих подходов и не очевидным деталям реализации модели…
На сколько бы Макс не был инетересен в обсуждениях деталей, вот этот доклад куча воды и абстракций как бы сделать хорошо
источник

А

Антон in Software Design/Architecture/Zen
в реальности выглядит всё совершенно по другому, даже у него самого)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
это не то что бы "с архитектурной точки зрения" - слишком маленькие вещи. Это скорее про стилистику и выбранный язык.

В джавке какой ты так не сделаешь. Ну и пример твой больше про агрегацию композицию vs наследование. Лучше вообще избегать общих понятий типа User  ибо скорее всего у тебя в куче контекстов оно будет фигурировать. Такие вещи лучше воспринимать как ID
источник

SP

Sergey Protko in Software Design/Architecture/Zen
domain modeling made functional норм штука
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Dmytro Striletskyi
Привет! Можете кинуть ссылку на какой-то крутой доклад/туториал/книгу/курс где классно описывается общение между сервисами на основе ивентов (Kafka в моем случае), пожалуйста?
курс Уди -  https://yadi.sk/d/CmSCZjdmhx4Ceg?w=1
подборка паттернов по интеграциям систем - https:// www.enterpriseintegrationpatterns.com/
доки MSDN на тему - https://docs.microsoft.com/en-us/dotnet/architecture/microservices/architect-microservice-container-applications/asynchronous-message-based-communication - там же еще ссылки
источник

DS

Dmytro Striletskyi in Software Design/Architecture/Zen
Спасибо всем.
источник

МХ

Максим Храмцов... in Software Design/Architecture/Zen
Sergey Protko
это не то что бы "с архитектурной точки зрения" - слишком маленькие вещи. Это скорее про стилистику и выбранный язык.

В джавке какой ты так не сделаешь. Ну и пример твой больше про агрегацию композицию vs наследование. Лучше вообще избегать общих понятий типа User  ибо скорее всего у тебя в куче контекстов оно будет фигурировать. Такие вещи лучше воспринимать как ID
спасибо
источник

SB

Sergei Beilin in Software Design/Architecture/Zen
Константин Грачев
Есть апи и 2 личных кабинета. Для админа и для клиента.
На сколько нормальная идея делать 2 разных апи эндпоинта?
Столкнулся с тем, что 80% методов по сути разные. Где то просто ответы разные в силу ограничения доступа к полям. Где то функционал относится только к одному из кабинетов.

Ну то есть я всегда считал, что апи вроде как должна быть client agnostic и бекенду должно быть фиолетово пришел к нему запрос от SPA или запрос по крону от партнёра
Отдельные, конечно. Backend for Frontend - отличный паттерн.
источник

КГ

Константин Грачев... in Software Design/Architecture/Zen
источник
2021 February 06

DO

Denis Obolenskiy in Software Design/Architecture/Zen
Антон
в реальности выглядит всё совершенно по другому, даже у него самого)
Хотелось бы конечно увидеть хоть какой то пример реального DDD)) я просто хочу научить студентов этому всему и соответственно хотелось бы примеры из практики с плюсами и минусами
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Denis Obolenskiy
Хотелось бы конечно увидеть хоть какой то пример реального DDD)) я просто хочу научить студентов этому всему и соответственно хотелось бы примеры из практики с плюсами и минусами
Тут есть нюанс. DDD это про процесс моделирования. Модель тут артефакт. Глядя только на артефакты процесса сам процесс понятным не оч становится.

У тебя может быть гора тупых крудов (потому что удобная модель для твоего домена).

Есть занятная мысль что "сложность систем" надо рассматривать не только на основе кода который ты пишешь а с учетом сложности структуры организации вокруг. Человеческие системы весьма сложные даже если ты пилишь инстаграмы и если ты делаешь круды то всеравно есть проблема предсказуемости людей.
источник