FAQ
Why should I use a hexagonal architecture?
Hexagonal architecture shifts developers’ focus to the domain logic, simplifies test automation, and improves code quality and adaptability. These improvements result in a faster time to market and easier technical and organizational scaling.
Why should I use domain-driven design?
Domain-driven design (DDD) enables you to build software components and constructs by using a common language between business stakeholders and engineers. DDD helps you manage software complexity and is an effective strategy for maintaining software products in the long term.
Can I practice test-driven development without hexagonal architecture?
Yes. Test-driven development (TDD) isn’t limited to specific software design patterns. However, hexagonal architecture makes it easier to practice TDD.
Can I scale my product without hexagonal architecture and domain-driven design?
Yes. Technical and organizational product scaling can be achieved with most design patterns. However, hexagonal architecture and DDD make it easier to scale and are more effective for large projects in the long term.
Which technologies should I use to implement hexagonal architecture?
Hexagonal architecture isn’t limited to a specific technology stack. We recommend that you choose technology that supports dependency inversion and unit testing.
I am developing a minimum viable product. Does it make sense to spend time thinking about software architecture?
Yes. We recommend that you use design patterns that are familiar to you for MVPs. We encourage you to try and practice hexagonal architecture until your engineers are comfortable with it. Establishing a hexagonal architecture for new projects doesn’t require a significantly bigger time investment than starting without any architecture.
I am developing a minimum viable product and have no time to write tests.
If your MVP contains business logic, we strongly recommend writing automated tests for it. This will reduce the feedback loop and save time.
Which additional design patterns can I use with hexagonal architecture?
Use the CQRS
pattern