Lesson 196 - Modularity and Architectural Styles

Поделиться
HTML-код
  • Опубликовано: 5 ноя 2024

Комментарии • 8

  • @BlindVirtuoso
    @BlindVirtuoso Месяц назад +1

    Hi Mark. Nice one, appreciate it. However, in my opinion event-driven architecture is not kind of architecture itself and just communication method. Can we use event-driven communication in microservices? Yes. And what about using it in modular monoliths? Again, we can use it.

    • @markrichards5014
      @markrichards5014  Месяц назад +2

      When EDA is used with other styles we form hybrids, such as event-driven microservices or event-driven space-based architecture. Although it is a common pattern to leverage events for parts of a system in other architectures, you can build a software architecture using EDA only (I have build lots of these), thus IMHO making it a separate architectural style.

  • @HemalVarambhia
    @HemalVarambhia Месяц назад +1

    Mark, a preview of Alistair Cockburn's "Hexagonal Architecture Explained" is out now. Where would that sit in your star rating?

    • @markrichards5014
      @markrichards5014  Месяц назад +1

      Similar to microkernel architecture, where the plug-in components act as ports and adapters.

  • @mahdi5796
    @mahdi5796 Месяц назад

    Thanks Mark. But as you said "Everything is trade-off". So, what are trade-offs of modularity? It can't be all good 😉

    • @markrichards5014
      @markrichards5014  Месяц назад +1

      Nice! Cost and complexity are some of the tradeoffs of modularity, particularly as you move into the distributed architecture side of things

    • @mahdi5796
      @mahdi5796 Месяц назад

      ​@@markrichards5014 you mean monetary cost? Can you please elaborate how modularity increases the cost? 🤔 do you mean just cost for development effort to make the system modular or does it increase the cost in any other way, too?

    • @markrichards5014
      @markrichards5014  Месяц назад +1

      @@mahdi5796 The primary benefits of architectural modularity are found in distributed architectures, which as generally more costly to create and maintain than monolithic ones. That said, modularity can be realized in a modular monolith and microkernel architectures, which increase overall agility but not operational characteristics.