Progrow

Progrow

  • 분류 전체보기 (366)
    • Programming Languages (47)
      • JavaScript (13)
      • Java (18)
      • Effective Java (3)
      • Kotlin (11)
      • C++ (1)
      • Groovy (1)
    • Computer Sciences (237)
      • Problem Solve (155)
      • Datastructure (2)
      • Database (20)
      • OS (8)
      • Network (5)
      • Security (10)
      • Design Patterns (19)
      • Compiler (8)
      • BigData (5)
      • OOP (5)
    • Spring (21)
      • Boot (7)
      • Security (7)
      • JPA (6)
      • Session (1)
    • Frontend (10)
      • HTML (2)
      • CSS (3)
      • Vue.js (4)
    • Web (4)
      • REST API (2)
      • Servlet (1)
    • Devops (26)
      • Docker (0)
      • Kubernetes (1)
      • AWS (25)
      • Jenkins (0)
      • Terraform (0)
    • Build Tools (6)
      • Gradle (6)
    • App (1)
      • Android (1)
    • Project (4)
      • DI Framework (3)
      • Capstone Design (1)
    • Redis (1)
    • git (0)
    • etc (9)
      • IT 상식 (4)
      • IT 행사 (2)
      • Heroku (2)
      • vscode (1)
  • 홈
  • 태그
  • 방명록
  • github
RSS 피드
로그인
로그아웃 글쓰기 관리

Progrow

컨텐츠 검색

태그

JavaScript Kotlin 백준 프로그래머스 greedy BAEKJOON Java 데이터베이스 dfs Head First Design Pattern Java Design Pattern database 정보보안 BFS 투 포인터 String programmers 정보보호 AWS DP

최근글

댓글

공지사항

아카이브

Decorator Pattern(1)

  • 2. Decorator Pattern

    문제 커피 주문 시스템에서 각 커피에 대한 첨가물이 추가해달라는 요구사항이 들어왔다. 이를 해결해보자. 상속 위처럼 상속을 이용해서 설계를 하면 첨가물과 커피가 늘어날 때마다 클래스를 만들어서 상속해야 한다. 이는 엄청난 복잡도를 유발하게 될 것이다. 인스턴스 변수와 슈퍼 클래스 상속 이렇게 하면 어떨까? 이 역시 문제가 많다. 첨가물 가격이 바뀔 때마다 기존 코드를 수정해야 한다. 첨가물 종류가 늘어날 경우 그에 따른 메서드를 추가해야 한다(ex.시럽). 첨가물이 들어가지 않는 음료의 경우에도 불필요한 메서드를 상속받는다(ex.아이스티). 중복된 첨가물에 대한 표현이 불가능하다(ex.더블 모카). 해결 방법 객체에 추가적인 조건을 동적으로 추가해야 하는 문제는 데코레이터 패턴을 통해 해결할 수 있다. ..

    2021.09.06
이전
1
다음
티스토리
© 2018 TISTORY. All rights reserved.

티스토리툴바