Architecture 3

고수준 컴포넌트와 저수준 컴포넌트에 대한 정리

최근 클린아키텍처 책을 다시 읽고 있는데 고수준과 저수준에 대한 개념이 자꾸 헷갈려서 정리해야겠다고 결심했다. (클린 아키텍쳐 책 노잼이다....) 고수준 컴포넌트 고수준 컴포넌트는 더 큰 규모의 기능을 수행하는 독립적인 모듈이나 요소이다. 일반적으로 높은 수준의 추상화를 제공하며, 사용자 또는 다른 컴포넌트와의 상호작용을 관리한다. 예를 들어, 웹 애플리케이션의 고수준 컴포넌트는 사용자 인터페이스, 비즈니스 로직, 데이터베이스 접근 등을 포함할 수 있다. 이러한 컴포넌트들은 애플리케이션의 주요 기능을 담당하며, 상위 수준에서 애플리케이션을 구성한다. 저수준 컴포넌트 저수준 컴포넌트는 고수준 컴포넌트의 내부에서 동작하며, 더 작은 규모의 기능을 수행하는 모듈이나 요소이다. 이러한 컴포넌트는 보통 고수..

Architecture 2023.07.08

전략 패턴 (Strategy Pattern)

전략 패턴 (Strategy Pattern) 전략 패턴은 객체가 특정 동작 또는 알고리즘을 실행할 때 유연성을 제공하는 디자인 패턴입니다. 이 패턴은 동적으로 알고리즘을 교체하거나 다양한 알고리즘을 선택할 수 있는 구조를 제공합니다. 전략 패턴은 알고리즘의 구현을 캡슐화하고, 알고리즘을 사용하는 객체와 독립적으로 변경할 수 있도록 합니다. 특징 - 유연한 알고리즘 교체 전략 패턴은 알고리즘을 독립적으로 정의하고, 클라이언트에서 알고리즘을 교체할 수 있도록 합니다. 이는 실행 중에 다른 전략으로 쉽게 전환할 수 있으며, 알고리즘의 변경이 클라이언트 코드에 영향을 주지 않습니다. - 객체 간 결합도 감소 전략 패턴은 알고리즘을 전략 객체로 캡슐화하여 클라이언트와 알고리즘 간의 결합도를 낮춥니다. 클라이언트는..

Architecture 2023.05.16

싱글톤 패턴 (Singleton Pattern)

싱글톤 패턴 (Singleton Pattern) 싱글톤 패턴은 객체 지향 프로그래밍에서 많이 사용되는 디자인 패턴 중 하나입니다. 이 패턴은 클래스의 인스턴스가 오직 하나만 생성되도록 보장하며, 이 인스턴스에 대한 전역적인 접근이 필요할 때 사용됩니다. 즉, 전역에서 유일한 객체를 생성하고, 이후에는 생성된 객체를 공유하여 사용하는 패턴입니다. 특징 클래스 내부에서 유일한 인스턴스를 생성합니다. 유일한 인스턴스를 참조할 수 있는 전역 변수를 제공합니다. 외부에서 인스턴스를 생성할 수 없도록 생성자를 private으로 선언합니다. 유일한 인스턴스를 반환하는 정적 메소드를 제공합니다. 구현 방법 싱글톤 패턴을 구현하는 방법은 다양하지만, 가장 간단한 방법은 클래스의 생성자를 private으로 선언하고, 정적..

Architecture 2023.05.10