junhkang의 개발 블로그
close
프로필 배경
프로필 로고

junhkang의 개발 블로그

  • DEV (103)
    • Postgresql (47)
    • Linux (4)
    • AWS (4)
    • 운영체제(OS) (1)
    • Spring (19)
    • 네트워크 (3)
    • Java (4)
    • WEB (2)
    • Elastic Search (1)
    • 이펙티브 자바 (10)
    • 디자인패턴 (5)
    • GitHub (1)
    • LLM (2)
  • 홈
  • 태그
  • 방명록
[디자인패턴] 빌더(Builder) 패턴의 개념, 예제, 장단점, 활용

[디자인패턴] 빌더(Builder) 패턴의 개념, 예제, 장단점, 활용

1. 빌더(Builder) 패턴이란?일반적으로 구조를 갖춘 큰 구조물을 건축, 구축하는 것을 build라고 한다예를 들어 빌딩을 지을 때 지반다지기, 뼈대 만들기 등의 과정을 거치며 아래에서 위로 순차적으로 만들어간다. 복잡한 구조물을 단숨에 완성하기는 어렵기에, 구성하는 각 부분을 만들고 단계를 밟아가며 만들게 된다. Builder 패턴은 이처럼 구조를 가진 복잡한 인스턴스를 조립해 가는 패턴이다. 2. 빌더 패턴의 구조Builder 역 - 인스턴스를 결정, 인스턴스 각 부분을 만드는 메서드를 정의. 예제에서는 Builder 클래스가 역할을 맡음ConcreteBuilder 역 - 인터페이스를 구현, 실제 인스턴스 생성으로 호출되는 메서드가 여기에서 정의 TextBuilder, HTMLBuilder 클래..

  • format_list_bulleted 디자인패턴
  • · 2024. 7. 29.
  • textsms
[디자인패턴] 전략(Strategy) 패턴의 개념, 예제, 장단점, 활용

[디자인패턴] 전략(Strategy) 패턴의 개념, 예제, 장단점, 활용

1. 전략(Strategy) 패턴이란? Strategy는 전략이라는 뜻으로 적을 해치우는 작전, 게임을 이기는 전략, 문제를 풀어나가는 방법 등의 의미가 있고, 특히 프로그래밍에서는 문제를 해결하는 방식인 "알고리즘"을 의미한다. 모든 프로그램은 문제를 해결하기 위해 존재하며, 특정 알고리즘으로 구현된다. Strategy 패턴에서는 이미 구현한 알고리즘을 쉽게 모두 교체할 수 있다. 즉, 스위치를 누르듯 쉽게 알고리즘을 바꿔서 같은 문제를 다른 방법으로 해결하기 쉽게 만들어주는 패턴이 Strategy 패턴이다. 2. 전략(Strategy) 패턴의 구조 전략 패턴의 구조와 예제에서 각 요소가 어떤 역할을 하는지 간단하게 먼저 살펴보자. Strategy(전략) - 전략을 사용하기 위한 인터페이스를 결정 (예..

  • format_list_bulleted 디자인패턴
  • · 2024. 4. 12.
  • textsms
[디자인패턴] 데코레이터(Decorator) 패턴의 개념, 예제, 장단점, 활용

[디자인패턴] 데코레이터(Decorator) 패턴의 개념, 예제, 장단점, 활용

1. 데코레이터(Decorator) 패턴이란? 중심이 되는 객체가 있고, 장식이 되는 기능을 하나씩 추가하여 목적에 더 맞는 객체로 만들어가는 디자인 패턴을 Decorator 패턴이라고 한다. decorator 란 "장식하는 사람"이라는 뜻이다. 예제를 통해 상세 개념을 확인해 보자. (Java언어로 배우는 디자인 패턴 입문, 3편의 예제를 그대로 사용하였다.) 적용할 예제는, 문자열 주위에 "장식틀"을 붙여 표현하는 것이다. 예를 들어 Hello World라는 기본 문구에 장식틀을 붙여 중첩 장식을 한 후 출력하는 예제이다. +=============+ |Hello, world| +=============+ 사용될 클래스는 각각 다음과 같다. Display - 문자열 표시용 추상 클래스 StringD..

  • format_list_bulleted 디자인패턴
  • · 2024. 3. 18.
  • textsms
  • navigate_before
  • 1
  • navigate_next
전체 방문자
오늘
어제
전체
전체 카테고리
  • DEV (103)
    • Postgresql (47)
    • Linux (4)
    • AWS (4)
    • 운영체제(OS) (1)
    • Spring (19)
    • 네트워크 (3)
    • Java (4)
    • WEB (2)
    • Elastic Search (1)
    • 이펙티브 자바 (10)
    • 디자인패턴 (5)
    • GitHub (1)
    • LLM (2)
최근 글
인기 글
태그
  • #이펙티브자바
  • #spring
  • #오블완
  • #AWS
  • #디자인패턴
  • #티스토리챌린지
  • #test
  • #Index
  • #Effective Java
  • #PostgreSQL
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바