Clean architecture -til

future0159 3월 26일 AM 11:41 5 0
future0159 Profile Image Level 9
1

Clean Architecture는 소프트웨어 아키텍처 디자인 패턴 중 하나로, 소프트웨어를 세분화된 계층으로 분리하고, 각 계층이 서로 독립적으로 동작할 수 있도록 설계하는 것을 목표로 합니다. 이러한 설계는 시스템을 보다 유연하고 확장 가능하게 만들어줍니다.
Clean Architecture는 Uncle Bob (로버트 마틴)이 제안한 디자인 패턴 중 하나로, 시스템을 크게 4개의 계층으로 분리합니다.

  1. Entities (엔티티) : 시스템의 핵심 비즈니스 로직을 포함합니다. 이 계층은 시스템의 다른 모든 계층에 영향을 주지 않아야 합니다.
  2. Use Cases (유스케이스) : 엔티티를 이용하여 시스템에서 수행하는 모든 작업을 정의합니다. 이 계층은 엔티티 계층을 제외한 모든 계층에 의존합니다.
  3. Interface Adapters (인터페이스 어댑터) : 시스템과 외부 시스템 간의 통신을 위한 인터페이스를 구현합니다. 이 계층은 Use Case 계층과 Frameworks & Drivers 계층 사이에서 중개자 역할을 합니다.
  4. Frameworks & Drivers (프레임워크 및 드라이버) : 외부 프레임워크 및 드라이버를 포함합니다. 이 계층은 시스템의 다른 모든 계층을 지원하기 위해 존재합니다.

Clean Architecture는 이러한 4개의 계층으로 이루어진 세부적인 설계를 통해 시스템의 유연성과 확장성을 높이는 것을 목표로 합니다. 이를 통해 시스템이 새로운 요구사항에 대해 대처할 수 있도록 하고, 유지보수성을 높일 수 있습니다.

댓글