디자인 패턴 (GoF)

소영·2024년 3월 28일
0

디자인 패턴

  • 자주 사용하는 설계 패턴을 정형화
  • 유용/최적화된 기법

GoF 디자인패턴 23개

  • 개발자간 소통
  • 어플리케이션 구조 파악
  • 재사용성
  • 설계 변경

패턴의 종류

  • 생성 패턴 (Creational Pattern)

    • 객체의 생성과 관련된 패턴
    • Singleton, Factor, Builder ...
  • 구조 패턴 (Structural Pattern)

    • 자료구조, 클래스(인터페이스) 구조 설계에 필요한 패턴
    • Adapter, Decorator, Proxy ...
  • 행위 패턴 (Behavioral Pattern)

    • 반복적인 객체 간의 상호작용 패턴
    • Strategy, Obsever ...

AOP?

Aspect Oriented Programming, 관점 지향 프로그래밍의 약자로 관점을 기준으로 다양한 기능을 분리하여 보는 프로그래밍이다.

AOP의 목적

  • 객체지향 프로그래밍을 보완하기 위해 쓰인다.

  • 부가 기능 로직의 코드를 핵심 비즈니스 로직의 코드와 분리하여 코드의 간결성을 높이고 변경에 유연함과 무한한 확장이 가능하도록 하는 것

Spring AOP

런타임 시점에 적용
-> 컴파일 시점과 클래스 로딩 시점에 적용하려면 별도의 컴파일러와 클래스로더 조작기를 써야 하는데, 이를 정하고 사용/유지하는 과정이 매우 어렵고 복잡하다.

profile
차곡 차곡 기록 쌓기

0개의 댓글