What is Hexagonal Architecture?

Learn to structure a component by using an interesting approach called hexagonal architecture.

Once the whole business model is defined, at least for the first MVP, it is time to start coding the project. In the software industry, there are many ways to implement software, many of them are good and many are not. One point to keep in mind when implementing software is that there is no silver bullet. It means there is no tool, practice, or framework that can be used in every project. Therefore, it is good practice to analyze the problem and choose the best software architecture.

What is software architecture?

This is not an easy term to define because it can be abstract depending on the perspective. When designing software for a company, there are three different levels:

  • Strategic level: this is known as enterprise architecture. It deals with problems related to processes, applications, infrastructure, and actors that are involved across an organization.
  • Solution level: this is known as solution architecture. It solves everything related to a particular solution of software. The solution may involve different components, actors, and specific processes of an organization.
  • Artifact level: this is known as software architecture. It deals with problems related to a particular component in an ecosystem of components, and how to structure it. It can involve layers, a programming language, design patterns, and many more.

In this case, efforts will be oriented to define how to design and implement a specific component; how parts inside the component should be built, and how those parts should interact among them. These are the concerns that software architecture deals with. It also gives us good practices, guidelines, and many more things.

Levels of architectural abstraction

The next image shows the levels of architectural abstraction:

Create a free account to access the full course.

By signing up, you agree to Educative's Terms of Service and Privacy Policy