Training from ardalis: "Getting Started: Modular Monoliths in .NET"
- simple to create
- simple to deploy
- hard to keep the code clean
- layered archicture helps
- scale
- complex
- expensive
- advantages of monolith - better maintainable
- well defined, loosely coupled modules
- if needed, parts can be converted to separate modules (like microserivce, see MassTransit)
- easier to keep the code clean
Event Streaming is not Event Sourcing! https://event-driven.io/en/event_streaming_is_not_event_sourcing/
https://github.com/boeschenstein/VerticalSlices
CQRS takes the defining principle of CQS and extends it to specific objects within a system, one retrieving data and one modifying data. CQRS is the broader architectural pattern, and CQS is the general principle of behaviour.
CQRS Levels: https://enterprisecraftsmanship.com/posts/types-of-cqrs/
- Type 0: no CQRS
- Type 1: separated class structure
- Type 2: separated model
- Type 3: separated storage
- UML https://holub.com/uml/
- 4+1 architectural view model https://en.wikipedia.org/wiki/4%2B1_architectural_view_model
- Logical view
- Process view
- Development view
- Physical view
- Scenarios