1. 계층형 아키텍처

전통적인 3계층 또는 n계층 아키텍처를 따르는 패턴

  • Presentation (UI) Layer: CLI나 Web 인터페이스, Controller 등 사용자 입력을 받고 결과를 보여주는 역할
  • Service Layer: 비지니스 로직 구현 계층
  • Data Access/Infrastructure Layer: 실제 I/O 처리를 담당

2. 의존성 역전 원칙 + 인터페이스 기반 설계

.Dependency Inversion Principle 에 따라 상위 레벨 모듈 ( Controller, Service ) 는 하위 레벨 구현 대신 인터페이스에 의존함

3. 서비스 로케이터 or IoC 컨테이너

객체 생성과 의존성 주입을 중앙에서 관리하는 패턴

  • DI 컨테이너를 사용하면, Controller나 Service는 자신이 직접 New로 하위 레벨 모듈을 생성하지 않고 생성자나 메서드를 통해 외부에서 주입받는다.
  • 코드 상에서의 의존성 감소, 모듈별 재사용성 향상, 테스트 용이성

4. 이벤트 기반 처리

상위 계층이 이벤트를 구독하여 처리하는 방식은 Observer 패턴을 활용한 것

  • 데이터 수신 - 이벤트 발생 - 구독자 처리

'개인 공부 > 인턴' 카테고리의 다른 글

C# 패턴 참고 자료  (3) 2024.12.18
중재자 패턴, 옵저버 패턴, 퍼사드 패턴  (2) 2024.12.16
UDP 통신 참고 자료  (1) 2024.12.12
MVVM Light  (0) 2024.12.09
클래스 다이어그램  (1) 2024.12.02

+ Recent posts