ヘキサゴナル アーキテクチャ (ポートおよびアダプタ アーキテクチャとも呼ばれます) は、疎結合されたアプリケーション コンポーネントを作成することを目的とした設計パターンです。このアーキテクチャ スタイルにより、データベース、ユーザー インターフェイス、サードパーティ サービスなどの外部の問題からコア ロジックが分離されるため、コードがよりモジュール化され、テストしやすく、保守しやすくなります。
ヘキサゴン アーキテクチャは、外部インターフェイスから独立したコア アプリケーション ロジック (ヘキサゴン) の作成に重点を置いています。このコア ロジックは、ポート (インターフェイス) およびアダプター (これらのインターフェイスの実装) を介して外部システムと対話します。主なアイデアは、制御フローを逆転させて、アプリケーションのコアを外側の層から完全に独立させることです。
Java アプリケーションにヘキサゴナル アーキテクチャを実装する方法は次のとおりです:
Order.java:
public class Order { private String id; private List<OrderItem> items; // Constructor, getters, and business logic methods }
OrderService.java:
public interface OrderService { void createOrder(Order order); Order getOrderById(String id); }
OrderRepository.java:
public interface OrderRepository { void save(Order order); Order findById(String id); }
OrderRepositoryImpl.java:
public class OrderRepositoryImpl implements OrderRepository { // Implementation using a database or any other storage mechanism @Override public void save(Order order) { // Save order to the database } @Override public Order findById(String id) { // Retrieve order from the database return new Order(); } }
OrderServiceImpl.java:
@Service public class OrderServiceImpl implements OrderService { private final OrderRepository orderRepository; @Autowired public OrderServiceImpl(OrderRepository orderRepository) { this.orderRepository = orderRepository; } @Override public void createOrder(Order order) { orderRepository.save(order); } @Override public Order getOrderById(String id) { return orderRepository.findById(id); } }
OrderController.java:
@RestController @RequestMapping("/orders") public class OrderController { private final OrderService orderService; @Autowired public OrderController(OrderService orderService) { this.orderService = orderService; } @PostMapping public ResponseEntity<Void> createOrder(@RequestBody Order order) { orderService.createOrder(order); return ResponseEntity.ok().build(); } @GetMapping("/{id}") public ResponseEntity<Order> getOrderById(@PathVariable String id) { Order order = orderService.getOrderById(id); return ResponseEntity.ok(order); } }
Hexagonal Architecture は、コア ビジネス ロジックを外部システムから切り離すことにより、モジュール式でテスト可能で保守可能な Java アプリケーションを構築するのに役立ちます。このアーキテクチャに従うことで、コードベースをクリーンな状態に保ち、変更に適応できるようにすることができます。
以上がJava のヘキサゴナル アーキテクチャの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。