A preliminary understanding of the "hexagonal" architecture design theory
Today, when reading the book "building microservice", I learned that this theory is applied not only to micro-service design but also to domain-driven.
The hexagonal architecture is a style that layers objects in a way that separates core logic from external elements. The core logic is specific to your business, and external elements are like integration points, such as DB, external API,UI, and so on. It divides the software into internal and external parts. The internal components contain the core business logic and domain layer (explained in LayeredArchitecture). The external part includes the user interface, database, messaging and other things. Both internal and external components communicate with each other through ports and adapters.
The hexagonal architecture revolves more around ports and adapters. In Java, the interface implements the port, and the implementation class is used as an adapter.