Architektura Pokročilý
Hexagonal Architecture — porty a adaptéry¶
HexagonalPorts & AdaptersClean Code 3 min čtení
Oddělení byznys logiky od infrastruktury. Porty, adaptéry a testovatelný kód.
Princip¶
Byznys logika nezávisí na databázi, frameworku ani UI. Porty = rozhraní. Adaptéry = konkrétní implementace.
Struktura¶
src/
├── domain/ # Jádro — žádné závislosti!
│ ├── model/Order.ts
│ ├── ports/OrderRepository.ts # Interface
│ └── services/OrderService.ts
├── application/
│ └── CreateOrderUseCase.ts
└── infrastructure/ # Adaptéry
├── persistence/PostgresOrderRepo.ts
├── payment/StripeGateway.ts
└── web/OrderController.ts
Testovatelnost¶
Doménovou logiku testujete s mock adaptéry — bez databáze, bez HTTP.
const mockRepo = { save: jest.fn() };
const service = new OrderService(mockRepo, mockPayment);
test('creates order', async () => {
const order = await service.createOrder('cust-1', items);
expect(order.status).toBe('CREATED');
expect(mockRepo.save).toHaveBeenCalled();
});
Shrnutí¶
Hexagonální architektura je investice do udržitelnosti. Vyplatí se u projektů s delší životností.
Potřebujete pomoct s implementací?¶
Náš tým má zkušenosti s návrhem a implementací moderních architektur. Rádi vám pomůžeme.