최근 클린아키텍처 책을 다시 읽고 있는데 고수준과 저수준에 대한 개념이 자꾸 헷갈려서 정리해야겠다고 결심했다. (클린 아키텍쳐 책 노잼이다....)
고수준 컴포넌트
고수준 컴포넌트는 더 큰 규모의 기능을 수행하는 독립적인 모듈이나 요소이다.
일반적으로 높은 수준의 추상화를 제공하며, 사용자 또는 다른 컴포넌트와의 상호작용을 관리한다. 예를 들어, 웹 애플리케이션의 고수준 컴포넌트는 사용자 인터페이스, 비즈니스 로직, 데이터베이스 접근 등을 포함할 수 있다. 이러한 컴포넌트들은 애플리케이션의 주요 기능을 담당하며, 상위 수준에서 애플리케이션을 구성한다.
저수준 컴포넌트
저수준 컴포넌트는 고수준 컴포넌트의 내부에서 동작하며, 더 작은 규모의 기능을 수행하는 모듈이나 요소이다.
이러한 컴포넌트는 보통 고수준 컴포넌트의 지원을 위해 설계되며, 내부적인 동작을 처리한다. 예를 들어, 웹 애플리케이션의 저수준 컴포넌트는 데이터베이스 연결, 파일 시스템 접근, 보안 기능 등을 담당할 수 있다. 이러한 컴포넌트들은 고수준 컴포넌트의 기능을 구현하기 위해 사용되며, 상위 수준에서는 보다 추상화된 인터페이스를 통해 접근된다.
고수준 컴포넌트는 사용자에게 기능을 제공하고, 저수준 컴포넌트는 내부 동작을 처리하여 고수준 컴포넌트를 지원한다. 이러한 구조는 소프트웨어의 모듈화와 유지보수를 용이하게 하며, 기능을 확장하거나 변경할 때 유연성을 제공한다.
저수준 컴포넌트가 고수준 컴포넌트에 의존하도록 설계하는 것이 좋다.
'Architecture' 카테고리의 다른 글
전략 패턴 (Strategy Pattern) (0) | 2023.05.16 |
---|---|
싱글톤 패턴 (Singleton Pattern) (0) | 2023.05.10 |