IT자료실/기술서적

오브젝트 - 기술서적 스터디 15단원-디자인패턴과 프레임워크

Ramda 2023. 11. 2. 10:03

디자인패턴과 프레임워크

  • 디자인패턴 : 소프트웨어 설계에서 반복적으로 발생하는 문제에 대해 반복적으로 적용할 수 있는 해결 방법 (설계를 재사용)
  • 프레임워크 : 설계와 코드를 함께 재사용하기 위한 것

소프트웨어 패턴

  • 패턴이 지닌 가장 큰 가치는 경험을 통해 축적된 실무지식을 효과적으로 요약하고 전달할 수 있는 것
  • 패턴의 종류 : 패턴의 범위나 적용단계에 따라 분류한다
    • 아키텍쳐 패턴 : 디자인패턴의 상위 패턴으로 소프트웨어의 전체적인 구조를 결정
    • 분석 패턴 : 도메안 내의 개념적인 문제를 해결하는 데 초점
    • 디자인 패턴 : 중간 규모의 패턴, 특정한 설계 문제를 해결하는 것을 목적
    • 이디엄 : 특정 프로그래밍 언어에만 국한된 하위 레벨의 패턴
  • 패턴에서 중요한 것은 패턴을 따르면 특정한 상황에 적용할 수 있는 설계를 쉽고 빠르게 떠올릴 수 있다는 것
  • 디자인 패턴에서 중요한 것은 디자인 패턴의 구현방법이나 구조가 아니라 어떤 디자인 패턴이 어떤 변경을 캡슐화하는지를 이해하는 것이 중요
  • 패턴은 출발지이며 목적지가 아니다, 패턴을 무조건 사용하려 하지말고 트레이드오프를 통해 생각 후 사용한다

프레임워크

  • 추상클래스나 인터페이스를 정의하고 인스턴스 사이의 상호작용을 통해 시스템 전체 혹은 일부를 구현해 놓은 '재사용 가능한 설계' 또는 '애플리케이션 개발자가 현재의 요구사항에 맞게 커스터마이징할 수 있는 애플리케이션의 골격'
  • 의존성 역전 원리는 프레임워크의 가장 기본적인 설계 메커니즘
  • 제어의 역전이 핵심 개념이며 코드의 재사용을 가능하게 하는 힘