Skip to content

boeschenstein/architecture

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 

Repository files navigation

image# Architecture

Training from ardalis: "Getting Started: Modular Monoliths in .NET"

Monolith

Monolith pro's

  • simple to create
  • simple to deploy

Monolith cons's

  • hard to keep the code clean
  • layered architecture helps

Micro service

Microservice pro's

  • scale

Microservice cons's

  • complex
  • expensive

Modular Monolith

Modular Monolith pro's

  • advantages of monolith - better maintainable
  • well defined, loosely coupled modules
  • if needed, parts can be converted to separate modules (like microserivce, see MassTransit)

Modular Monolith cons's

  • easier to keep the code clean

Event Streaming is not Event Sourcing

Event Streaming is not Event Sourcing! https://event-driven.io/en/event_streaming_is_not_event_sourcing/

Vertical Slices

https://github.com/boeschenstein/VerticalSlices

CQS, CQRS

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

Draw, Charts

Naming examples

Software Naming: The Ultimate Cheat Sheet: https://medium.com/@santy/software-naming-the-ultimate-cheat-sheet-b6bccc1d5373

Some Service Suffixes: Manager, Handler, Provider, Builder, Factory, Cache, Adapter, Wrapper, Monitor, Controller, Dispatcher, Utility, Resolver, Facade, Proxy, Strategy, Validator, Processor, Listener, Observer, Decorator, Service, Formatter, Comparator, Reader, Writer, Scanner, Generator, Parser, Interpreter, Visitor, Calculator, Connection, Session, Transaction, Resource, Template, Context, Emitter, Collector, Renderer, Transformer, Encoder, Decoder, Subscriber, Publisher, Engine, Loader, Executor, Verifier, Compiler, Serializer, Deserializer, Connector, Mediator, Filter, Command, Query

Verify architecture

About

Monolith, Microservice, CQS, CQRS, UML

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published