What is Domain-Driven Design (DDD)
A definition of DDD as a software design discipline
by Mathias Verraes
- https://verraes.net/2021/09/what-is-domain-driven-design-ddd/
#DDD
A definition of DDD as a software design discipline
by Mathias Verraes
- https://verraes.net/2021/09/what-is-domain-driven-design-ddd/
#DDD
Mathias Verraes' Blog
What is Domain-Driven Design (DDD)
A definition of DDD as a software design discipline
Neal Ford и Mark Richards готовят новую книгу "Software Architecture: the Hard Parts"
- https://www.infoq.com/podcasts/software-architecture-hard-parts/
#SoftwareArchitecture
- https://www.infoq.com/podcasts/software-architecture-hard-parts/
#SoftwareArchitecture
InfoQ
Neal Ford and Mark Richards - Software Architecture: the Hard Parts
In this episode of the InfoQ Podcast, co-host Thomas Betts spoke with Neal and Mark about the role of a software architect and the skills necessary to be successful. One of the hardest parts is recognizing that there are no right or wrong answers, or easy…
👍1
Forwarded from Архитектура ИТ-решений
Как-то я пропустил, что Cloud Native Computing Foundation тоже выпускает технологические радары https://radar.cncf.io/2021-09-devsecops
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Обсуждал с товарищем изобилие баг в приложении одного из банков, и он выдвинул предположение, что это может быть связано с бурными темпами его развития и приоритетом на скорость доставки новых фич в ущерб внутреннему качеству продукта. И привел пару интересных…
Мой товарищ нашел хорошее объяснение, почему некоторые продукты могут быть все же популярны вопреки своей дефектности. Выводы показались мне интересными, не могу не поделиться.
Все просто. Сперва через удачную рекламную стратегию формируется "Каскад доступной информации". Ну а потом, когда баги обнаруживаются клиентом, то работает "Закон иррационального усиления", "Искажение в восприятии сделанного выбора", "Селективное восприятие", "Склонность к подтверждению своей точки зрения", потому что для человека намного проще согласиться с существующим положением дел, и, чтобы подавить "Когнитивный диссонанс", человек старается всеми силами преувеличить существенность принятого им решения, одновременно приуменьшая важность отвергнутого. Вследствие этого альтернатива теряет всякую привлекательность в его глазах.
Таким образом, при умелом применении законов психологии в рекламной стратегии, качество и репутация не всегда имеют коммерческую целесообразность. Да, какой-то процент избирательных клиентов с высоким качеством потребительского спроса будет безнадежно утрачен, но значительная масса останется.
#Psychology #SoftSkills
Все просто. Сперва через удачную рекламную стратегию формируется "Каскад доступной информации". Ну а потом, когда баги обнаруживаются клиентом, то работает "Закон иррационального усиления", "Искажение в восприятии сделанного выбора", "Селективное восприятие", "Склонность к подтверждению своей точки зрения", потому что для человека намного проще согласиться с существующим положением дел, и, чтобы подавить "Когнитивный диссонанс", человек старается всеми силами преувеличить существенность принятого им решения, одновременно приуменьшая важность отвергнутого. Вследствие этого альтернатива теряет всякую привлекательность в его глазах.
Таким образом, при умелом применении законов психологии в рекламной стратегии, качество и репутация не всегда имеют коммерческую целесообразность. Да, какой-то процент избирательных клиентов с высоким качеством потребительского спроса будет безнадежно утрачен, но значительная масса останется.
#Psychology #SoftSkills
Telegram
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Обсуждал с товарищем изобилие баг в приложении одного из банков, и он выдвинул предположение, что это может быть связано с бурными темпами его развития и приоритетом на скорость доставки новых фич в ущерб внутреннему качеству продукта. И привел пару интересных…
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Вышла неплохая статья о шифровании чувствительных данных в Event Sourcing: "Protecting Sensitive Data in Event-Sourced Systems with Crypto Shredding" - https://www.eventstore.com/blog/protecting-sensitive-data-in-event-sourced-systems-with-crypto-shredding…
Пару лет назад проблему удаления персональных данных из неизменяемого Event Sourcing лога событий по требованию GDPR освещал Mathias Verraes, и предложил два подхода:
"Eventsourcing Patterns: Forgettable Payloads. Store the sensitive payload of an event in a separate store to control access and removal." by Mathias Verraes
- https://verraes.net/2019/05/eventsourcing-patterns-forgettable-payloads/
"Eventsourcing Patterns: Crypto-Shredding. Encrypt sensitive information in an event and delete the key." by Mathias Verraes
- https://verraes.net/2019/05/eventsourcing-patterns-throw-away-the-key/
#DDD #EventSourcing #Microservices #SoftwareArchitecture #SoftwareDesign
"Eventsourcing Patterns: Forgettable Payloads. Store the sensitive payload of an event in a separate store to control access and removal." by Mathias Verraes
- https://verraes.net/2019/05/eventsourcing-patterns-forgettable-payloads/
"Eventsourcing Patterns: Crypto-Shredding. Encrypt sensitive information in an event and delete the key." by Mathias Verraes
- https://verraes.net/2019/05/eventsourcing-patterns-throw-away-the-key/
#DDD #EventSourcing #Microservices #SoftwareArchitecture #SoftwareDesign
Telegram
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Вышла неплохая статья о шифровании чувствительных данных в Event Sourcing:
"Protecting Sensitive Data in Event-Sourced Systems with Crypto Shredding"
- https://www.eventstore.com/blog/protecting-sensitive-data-in-event-sourced-systems-with-crypto-shredding…
"Protecting Sensitive Data in Event-Sourced Systems with Crypto Shredding"
- https://www.eventstore.com/blog/protecting-sensitive-data-in-event-sourced-systems-with-crypto-shredding…
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
"Events should be as small as possible, right?" by Oskar Dudycz - https://event-driven.io/en/events_should_be_as_small_as_possible/ К этому посту можно добавить, что поднятый вопрос известен так же под названием "Event Notification" vs. "Event-Carried State…
Проблеме, озвученной Oskar Dudycz, похожее решение дает Mathias Verraes в статье
"Patterns for Decoupling in Distributed Systems: Segregated Event Layers. Explicitly segregate a Bounded Context's events in visibility layers, with their own language."
- https://verraes.net/2019/05/patterns-for-decoupling-distsys-segregated-event-layers/
#DDD #Microservices #DistributedSystems #SoftwareArchitecture #SoftwareDesign
"Patterns for Decoupling in Distributed Systems: Segregated Event Layers. Explicitly segregate a Bounded Context's events in visibility layers, with their own language."
- https://verraes.net/2019/05/patterns-for-decoupling-distsys-segregated-event-layers/
#DDD #Microservices #DistributedSystems #SoftwareArchitecture #SoftwareDesign
Telegram
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
"Events should be as small as possible, right?" by Oskar Dudycz
- https://event-driven.io/en/events_should_be_as_small_as_possible/
К этому посту можно добавить, что поднятый вопрос известен так же под названием "Event Notification" vs. "Event-Carried State…
- https://event-driven.io/en/events_should_be_as_small_as_possible/
К этому посту можно добавить, что поднятый вопрос известен так же под названием "Event Notification" vs. "Event-Carried State…
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
"Strategic Domain-Driven Design Kata: Delivericious" by Nick Tune - https://medium.com/nick-tune-tech-strategy-blog/strategic-domain-driven-design-kata-delivericious-b114ca77163 "Pattern Reading in Visual Discovery and Modelling" by Nick Tune - https://medium.com/nick…
"Getting started with DDD. Definitions of DDD and fundamental concepts to reduce the learning curve and confusion." by DDD-Crew of Nick Tune
- https://github.com/ddd-crew/welcome-to-ddd
"Domain-Driven Design Starter Modelling Process. If you're new to DDD and not sure where to start, this process will guide you step-by-step."
- https://github.com/ddd-crew/ddd-starter-modelling-process
#DDD #Microservices #SoftwareDesign #SoftwareArchitecture
- https://github.com/ddd-crew/welcome-to-ddd
"Domain-Driven Design Starter Modelling Process. If you're new to DDD and not sure where to start, this process will guide you step-by-step."
- https://github.com/ddd-crew/ddd-starter-modelling-process
#DDD #Microservices #SoftwareDesign #SoftwareArchitecture
GitHub
GitHub - ddd-crew/welcome-to-ddd: Definitions of DDD and fundamental concepts to reduce the learning curve and confusion
Definitions of DDD and fundamental concepts to reduce the learning curve and confusion - ddd-crew/welcome-to-ddd
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Awesome Domain Storytelling - https://github.com/hofstef/awesome-domain-storytelling #DDD #SoftwareDesign #SoftwareArchitecture #EventStorming #DomainStorytelling
"Domain Storytelling: A Collaborative, Visual, and Agile Way to Build Domain-Driven Software" by Stefan Hofer, Henning Schwentner
Part of the Addison-Wesley Signature Series (Vernon) series.
- https://www.informit.com/store/domain-storytelling-a-collaborative-visual-and-agile-9780137458912?ranMID=24808
Книга вышла в печать.
#DDD #SoftwareDesign #SoftwareArchitecture #EventStorming #DomainStorytelling
Part of the Addison-Wesley Signature Series (Vernon) series.
- https://www.informit.com/store/domain-storytelling-a-collaborative-visual-and-agile-9780137458912?ranMID=24808
Книга вышла в печать.
#DDD #SoftwareDesign #SoftwareArchitecture #EventStorming #DomainStorytelling
Informit
Domain Storytelling: A Collaborative, Visual, and Agile Way to Build Domain-Driven Software | InformIT
Build Better Business Software by Telling and Visualizing Stories"From a story to working software--this book helps you to get to the essence of what to build. Highly recommended!" --Oliver DrotbohmStorytelling is at the heart of human communication--why…
Список всех книг серии Vaught Vernon:
"The Addison-Wesley Signature Series: Vaughn Vernon"
- https://www.informit.com/imprint/series_detail.aspx?ser=7937178&utm_source=product&utm_medium=seriespage&utm_campaign=awss-vernon
#DDD #SoftwareArchitecture #SoftwareDesign
"The Addison-Wesley Signature Series: Vaughn Vernon"
- https://www.informit.com/imprint/series_detail.aspx?ser=7937178&utm_source=product&utm_medium=seriespage&utm_campaign=awss-vernon
#DDD #SoftwareArchitecture #SoftwareDesign
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Второе издание "Building Microservices: Designing Fine-Grained Systems" by Sam Newman https://www.amazon.com/gp/product/1492034029 #Microservices
Тут в чате канала @webkunx подсказывает, что вышел полноценный релиз второго издания "Building Microservices: Designing Fine-Grained Systems" by Sam Newman (September 28, 2021):
- https://www.amazon.com/gp/product/1492034029
Ранее был доступен early release raw & unedited.
Все новинки Software Design & Engineering:
- https://www.amazon.com/gp/new-releases/books/491316/ref=zg_b_hnr_491316_1
Из них две книги by Vladik Khononov ( @vladik_kh ).
P.S.: Если вдруг кто-то не знал - задать ему вопрос можно в чате канала.
- https://www.amazon.com/gp/product/1492034029
Ранее был доступен early release raw & unedited.
Все новинки Software Design & Engineering:
- https://www.amazon.com/gp/new-releases/books/491316/ref=zg_b_hnr_491316_1
Из них две книги by Vladik Khononov ( @vladik_kh ).
P.S.: Если вдруг кто-то не знал - задать ему вопрос можно в чате канала.
Telegram
Vanya Leyn in emacsway-chat
Кстати, там второе издание Building microservices вышло, пока выглядит очень неплохо
Превосходный пост о роли Ubiquitous Language в Software Design.
"Design and Reality" by Mathias Verraes and Rebecca Wirfs-Broc
- http://wirfs-brock.com/blog/2021/09/13/design-and-reality/
Комментарий M.Fowler: https://twitter.com/martinfowler/status/1437843497734791181?s=19
#DDD #SoftwareDesign #SoftwareArchitecture
"Design and Reality" by Mathias Verraes and Rebecca Wirfs-Broc
- http://wirfs-brock.com/blog/2021/09/13/design-and-reality/
Комментарий M.Fowler: https://twitter.com/martinfowler/status/1437843497734791181?s=19
#DDD #SoftwareDesign #SoftwareArchitecture
Twitter
Martin Fowler
Excellent post from @rebeccawb and @mathiasverraes on the role of Ubiquitous Language in software design "Ubiquitous Language is: a constructed, formalized language, agreed upon by stakeholders and designers, to serve the needs of our design." wirfs-broc…
🤩1
Интересная дискуссия по второй ссылке пересылаемого сообщения (диалог Grady Booch и Robert C. Martin). Кстати, Sam Newman тоже не обошел стороной эту тему:
- https://twitter.com/samnewman/status/1433096735006527495?s=19
Однако, наблюдая за направлением развития дискуссии, поспешил скорректировать её:
- https://twitter.com/samnewman/status/1433179115063021572?s=19
#Microservices #SoftwareArchitecture #SoftwareDesign
Пересылаемое сообщение ниже 👇
- https://twitter.com/samnewman/status/1433096735006527495?s=19
Однако, наблюдая за направлением развития дискуссии, поспешил скорректировать её:
- https://twitter.com/samnewman/status/1433179115063021572?s=19
#Microservices #SoftwareArchitecture #SoftwareDesign
Пересылаемое сообщение ниже 👇
Twitter
Sam Newman
Microservices are not the antithesis of a modular, monolithic architecture. In fact, I'd argue that a modular monolithic architecture and a microservice architecture have much more in common with each other than either styles do with a big ball of mud.
Forwarded from Архитектура ИТ-решений
Я думал, что под этим недавним твиттом Gregor Hohpe https://twitter.com/ghohpe/status/1441059739551420421 развернется флейм, но этого не случилось (Возможно, интересней хайповая переписка Буча с дядюшкой Бобом о том, являются ли микросервисы архитектурой или же стратегией развертывания https://twitter.com/Grady_Booch/status/1441871173957001224) Жаль, что не случилось. Тем трудней мне будет отстаивать тему заката интеграции приложений на archdays
Twitter
Gregor
For modern cloud apps, #integration isn't an afterthought; its an integral part of application design and delivery
Архитектурный еженедельник от Oskar Dudycz:
"Architecture Weekly - links and resources to boost your knowledge and developer experience"
- https://github.com/oskardudycz/ArchitectureWeekly
#DDD #SoftwareArchitecture #SoftwareDesign #Microservices #DistributedSystems
"Architecture Weekly - links and resources to boost your knowledge and developer experience"
- https://github.com/oskardudycz/ArchitectureWeekly
#DDD #SoftwareArchitecture #SoftwareDesign #Microservices #DistributedSystems
GitHub
GitHub - oskardudycz/ArchitectureWeekly: Architecture Weekly - links and resources to boost your knowledge and developer skills
Architecture Weekly - links and resources to boost your knowledge and developer skills - oskardudycz/ArchitectureWeekly
Forwarded from Я Математик
Theoretical Computer Science Cheat Sheet.pdf
164.2 KB
Theoretical Computer Science Cheat Sheet
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Еще одно исследование на тему может ли CQRS-команда возвращать результат: - "Can command return a value?" by Oskar Dudycz https://event-driven.io/en/can_command_return_a_value/ - "CQRS facts and myths explained" by Oskar Dudycz https://event-driven.io/e…
Еще несколько исследований на тему может ли CQRS-команда возвращать результат:
"CQRS. Факты и заблуждения" / Максим Аршинов
- https://habr.com/ru/post/347908/
"CQS versus server generated IDs" by Mark Seemann
- https://blog.ploeh.dk/2014/08/11/cqs-versus-server-generated-ids/
"Returning data from command handlers" by Steven van Deursen
- https://blogs.cuttingedge.it/steven/posts/2012/returning-data-from-command-handlers/
Предыдущее обсуждение:
- https://news.1rj.ru/str/emacsway_log/522
#DDD #Microservices #SoftwareDesign #SoftwareArchitecture #FunctionalProgramming #OOP #CQRS #CQS
"CQRS. Факты и заблуждения" / Максим Аршинов
- https://habr.com/ru/post/347908/
"CQS versus server generated IDs" by Mark Seemann
- https://blog.ploeh.dk/2014/08/11/cqs-versus-server-generated-ids/
"Returning data from command handlers" by Steven van Deursen
- https://blogs.cuttingedge.it/steven/posts/2012/returning-data-from-command-handlers/
Предыдущее обсуждение:
- https://news.1rj.ru/str/emacsway_log/522
#DDD #Microservices #SoftwareDesign #SoftwareArchitecture #FunctionalProgramming #OOP #CQRS #CQS
Хабр
CQRS. Факты и заблуждения
CQRS — это стиль архитектуры, в котором операции чтения отделены от операций записи. Подход сформулировал Грег Янг на основе принципа CQS, предложенного Бертраном Мейером. Чаще всего (но не всегда)...
EventSourcing.NetCore - Examples and Tutorials of Event Sourcing in .NET by Oskar Dudycz
- https://github.com/oskardudycz/EventSourcing.NetCore
EventSourcing.NodeJS - Examples and Tutorials of Event Sourcing in NodeJS by Oskar Dudycz
- https://github.com/oskardudycz/EventSourcing.NodeJS
awesome-cqrs-event-sourcing - A curated list of awesome CQRS and Event Sourcing things
- https://github.com/leandrocp/awesome-cqrs-event-sourcing
awesome_cqrs - some links about CQRS / Event Sourcing
- https://github.com/mindreframer/awesome_cqrs
#DDD #EventSourcing #SoftwareDesign #SoftwareArchitecture
- https://github.com/oskardudycz/EventSourcing.NetCore
EventSourcing.NodeJS - Examples and Tutorials of Event Sourcing in NodeJS by Oskar Dudycz
- https://github.com/oskardudycz/EventSourcing.NodeJS
awesome-cqrs-event-sourcing - A curated list of awesome CQRS and Event Sourcing things
- https://github.com/leandrocp/awesome-cqrs-event-sourcing
awesome_cqrs - some links about CQRS / Event Sourcing
- https://github.com/mindreframer/awesome_cqrs
#DDD #EventSourcing #SoftwareDesign #SoftwareArchitecture
GitHub
GitHub - oskardudycz/EventSourcing.NetCore: Examples and Tutorials of Event Sourcing in .NET
Examples and Tutorials of Event Sourcing in .NET. Contribute to oskardudycz/EventSourcing.NetCore development by creating an account on GitHub.
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
"Architecture Ownership Patterns For Team Topologies. Part 1: A Business Architecture Model" by Nick Tune - https://medium.com/nick-tune-tech-strategy-blog/team-responsibility-ownership-patterns-part-1-a-business-architecture-model-63597c4e60e1 "Architecture…
"Minimize Team Cognitive Load to Increase Flow" by Matthew Skelton
- https://itrevolution.com/minimize-cognitive-load-of-teams/
Хорошая статья о связи топологии команд с DDD.
Комментарий Nick Tune:
- https://twitter.com/ntcoding/status/1444232557080494086?s=19
#Management #TeamTopologies #SoftwareArchitecture
- https://itrevolution.com/minimize-cognitive-load-of-teams/
Хорошая статья о связи топологии команд с DDD.
Комментарий Nick Tune:
- https://twitter.com/ntcoding/status/1444232557080494086?s=19
#Management #TeamTopologies #SoftwareArchitecture
IT Revolution
Minimize Team Cognitive Load to Increase Flow
"The Monolith Strikes Back: Why Istio Migrated From Microservices to a Monolithic Architecture"
Publisher: IEEE
- https://ieeexplore.ieee.org/document/9520758
#Microservices #SoftwareArchitecture
Publisher: IEEE
- https://ieeexplore.ieee.org/document/9520758
#Microservices #SoftwareArchitecture
"DDD and Microservices: At Last, Some Boundaries!" by Eric Evans
- https://www.infoq.com/presentations/ddd-microservices-2016/
#DDD #Microservices #SoftwareArchitecture
- https://www.infoq.com/presentations/ddd-microservices-2016/
#DDD #Microservices #SoftwareArchitecture
InfoQ
DDD and Microservices: At Last, Some Boundaries!
Eric Evans introduces a few strategic design concepts and explains how they apply to development of microservices, as a tool for teams trying to grow large systems more coherently.
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Превосходный справочно-информационный ресурс по вопросам CRDT от Martin Kleppmann: - https://crdt.tech/ Source Code: - https://github.com/ept/crdt-website Кстати, тем, кто читает его книгу "Designing Data-Intensive Applications", было бы интересно знать…
📝 "Happy that our paper on a move operation for CRDT trees has finally been accepted by IEEE TPDS! We've spent over two years trying to get this thing published, eventually successful on the sixth submission… https://t.co/sFQgNaF8cq "
- Martin Kleppmann
https://twitter.com/martinkl/status/1444988948179300353?s=19
#DistributedSystems #DDD #Microservices #CRDT
- Martin Kleppmann
https://twitter.com/martinkl/status/1444988948179300353?s=19
#DistributedSystems #DDD #Microservices #CRDT