I graduated with honors from the University of Sciences in Ho Chi Minh City. I am working as a Senior Software Engineer at VNG. I am interested in distributed systems and big data problems. I have experience in Java, Golang, Database, and Microservice. In my free time, I often blog to share my experiences as well as read more blog posts to learn and enrich my knowledge.
Nothing here yet.
Sure, I can provide some special difference between them: Purpose: Hexagonal: isolation of the core business logic from external component (framework, external technical, ...). Layer: Organizes the application into horizontal layers, each with specific responsibilities. Dependency Direction: Hexagonal: Core application is at the center and independent of external systems. Adapters depend on the core through interfaces (ports). Layer: Dependency from higher to lower layers. Flexibility: Hexagonal: easy swapping of adapters. Changes in external systems can be accommodated without modifying the core logic. Layer: it is also flexibility but changes may involve modifying multiple layers due to tighter coupling between layers. Testability: Hexagonal: High testability, as the core application can be tested independently using mock or fake implementations of interfaces. Layer: Supports testability, but may have less isolation between components within the same layer, making unit testing more challenging.