Glossary

Here you will find a list of very common words on Microservices, Event Sourcing, Domain-Driven Design or Hexagonal Architecture.

Aggregate

An aggregate is an object that have a root entity and one or more transactional related entities or value objects. All the actions against the internal objects must pass through the aggregate.

Read more

Asynchronous

Asynchronous, in terms of software, refers to an action requested to the system that will be done in an undetermined time. Usually, the requester don't wait for the action to be done.

Read more

Bounded context

A bounded context represents a subset of a domain where a particular domain model applies. It affects the meaning of different concepts. For example, User can be a different thing in an auth bounded context than in a marketing bounded context.

Read more

Circuit breaker

A circuit breaker is a defensive system that allows a fallback in the situation where a direct call to an endpoint -to another microservice or to an external server- is failing too often.

Read more

Correlation id

A correlation id is an identifier shared by different steps of the same process. Is very used to related different logs of the same execution -specially for distributed tasks.

Read more

Domain-Driven Design (DDD)

Domain-Driven Design states that de design of a system should be driven by the domain. This implies having domain experts and using ubiquitous language inside the organization. More information [here](/articles/ddd-domain-driven-design).

Read more

Domain event

A domain event represent a fact that affected an aggregate. Conceptually speaking, every change in an aggregate is caused by a domain event happening to this aggregate. In event sourcing, domain events are used to reconstitute any state of an aggregate.

Read more

Entity

An entity is an object representing something that is mutable -can change overtime- and identifiable from other objects of the same type by an identifier field -or combination of fields.

Read more

Fallback

A fallback, in computer science, is a plan B, a system than guarantees the main system will not stop working. It can be used in many ways. A backup is a fallback because it restores lost data so the system can continue working. A circuit breaker is a fallback as it continue processing requests when the main system fails.

Read more

Guard

A set of code to ensure some business conditions are met. It uses to be a method called before the execution of the code which is changing the domain, and throws an exception when the conditions fail.

Read more

Hexagonal architecture

Also known as ports and adapters, hexagonal architecture tries to reduce coupling with the use of layers that are connected through adapters. Usually, there are three: domain, application and infrastructure. More information [here](/articles/hexagonal-architecture).

Read more

Interface Segregation Principle

Interface segregation principle states that no class should be forced to implement unneeded methods. To avoid this, we should separate methods in different interfaces so each class can implement only the needed methods.

Read more

Microservice

A microservice is a service that should be little enough, and that is part of a microservices architecture. You can find more in the microservices category.

Read more

SOLID

SOLID is an acronym for Single responsibility, Open-Closed, Liskov substitution, Interface segregation and Dependency inversion principles.

Read more

Synchronous

Synchronous, in terms of software, refers to an action requested to the system that will be done immediately. Usually, the requester will wait for the action to be done.

Read more

Ubiquitous Language

Ubiquitous language is a concept from DDD to define how all the members of an organization should you the same words for the same concepts, that is, a language that is everywhere.

Read more

Value object

A value object is an object representing something that is immutable -cannot change overtime- and not identifiable from other objects except for the values of all its fields.

Read more

Not another newsletter

  • A montly summary of everything new in the blog: So you can consume the content at your own pace.
  • Discounts on my books or courses: You will have exclusive discounts on books, courses or any other pay material I build in the future.
  • Books recommendations: I will recommend you books time to time, only the best of the best.

Join to get more like this

Only one email per month, period. Unsubscribe any time.