Light Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

boeschenstein/architecture

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

14 Commits

Repository files navigation

# 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

Readme

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors