Table of Contents
Overview
== Approach to complex software robust (the property of software to function reliably even under unfavorable conditions) flexible (the software’s ability to be easily adapted to changing requirements) and transparent modeling
– one of the basic theories for microservices architectures
– The focus of the software design is on technicality + technical logic.
– Design of complex domain-oriented contexts is based on a model of the application domain (== domain model)
– not worthwhile with CRUD ( Create Read Update Delete ) systems
Components of a domain



– Modules: technical components of the domain
– Entities: Objects with variable or ambiguous properties defined by their unique identity
– Professional events: Special objects register domain-relevant events and make them visible to other domain parts
– Service objects: business relevant functionalities that are important for several objects in the domain
– Value objects: Objects that are uniquely defined by their properties and typically remain unchangeable
– Associations: Relationships between objects of the model.
– Aggregates: Unit of objects and their relations
– Factories: For complex scenarios, different production patterns (mostly factory or builder patterns) can be used
– Repositories: clean separation of domain and data layer for system abstraction
Techniques



Microservices
== Architecture pattern of information technology, in which complex application software is composed of independent processes that communicate with each other using language-independent programming interfaces
– Services are largely decoupled and perform small tasks
Microservices Core Features
– Independent deployability (development teams work within their own deployment pipeline (Continuous Integration/Continuous Development)
– Independent technology stacks (technology decision (programming language, frameworks, database, operating system…) is up to the respective development team)
– Decentralized data management (each service manages its own data necessary for the functional scope)
– Loose coupling (microservices are executed separately in their own processes and are coupled together via the network)
– Bounded Context (functional scope of an application is cut into functional delimitable contexts (Bounded Context)
0 Comments
1 Pingback