본문 바로가기 메뉴 바로가기

개발자 박진 블로그

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

개발자 박진 블로그

검색하기 폼
  • 분류 전체보기 (173)
    • 내 정보 (1)
    • 회고 (1)
    • 개발 언어 (104)
      • 코틀린 (42)
      • 자바 (1)
      • NodeJS (21)
      • 파이썬 (6)
      • 기타 웹개발 지식 (34)
      • Vibe-Coding (0)
    • 프레임워크 (7)
      • 스프링 & 스프링 부트 (7)
    • 개발도구 (6)
      • 도커(Docker) (1)
      • k8s (1)
      • aws (4)
    • 디자인 패턴 (22)
    • 독서 (12)
      • 오브젝트 (5)
      • 객체지향의 사실과 오해 (7)
    • 기타 북마크 (13)
    • 이사 (4)
    • 기타 암거나 (2)
  • 방명록

디자인패턴 (22)
04. 빌더패턴

1. 의미 인스턴스 생성과 관련된 패턴으로 인스턴스를 생성할 때 동일한 프로세스를 통해 생성할 수 있게 도와주는 패턴 2. 작성 방법 public interface TourPlanBuilder { TourPlanBuilder nightsAndDays(int nights, int days); // nights와 days는 같이 생성 TourPlanBuilder title(String title); TourPlanBuilder startDate(LocalDate localDate); TourPlanBuilder whereToStay(String whereToStay); TourPlanBuilder addPlan(int day, String plan); TourPlan getPlan(); } public cl..

디자인 패턴 2022. 2. 10. 16:53
03. 추상 팩토리 패턴

1. 의미 서로 관련있는 여러 객체를 만들어주는 인터페이스 서로 관련이 있는 객체들을 통째로 묶어서 팩토리 클래스를 만들고, 조건에 따라 생성하도록 다시 팩토리를 만들어서 객체를 생성하는 패턴 구체적으로 어떤 클래스의 인스턴스를 사용하는지 감출 수 있다. 팩토리 메서드와 비슷해보이지만, 초점은 팩토리를 사용하는 클라이언트쪽으로 바라보고 있다. 클라이언트(호출) 코드를 인터페이스 기반으로 코딩할 수 있게 도와주는 패턴 2. 작성 방법 public interface Anchor { } public class WhiteAnchor implements Anchor { } public interface Wheel { } public class WhiteWheel implements Wheel { } public ..

디자인 패턴 2022. 2. 10. 16:45
02. 팩토리 메소드 패턴

1. 의미 인스턴스(객체) 생성에 대한 책임을 구체적인 클래스가 아닌 추상적인 인터페이스의 메소드를 이용하는 패턴 변경에는 닫혀야있어야 하며 확장에는 열려있어야하는 원칙(OCP)을 준수해야한다 2. 작성 방법 인터페이스와 인스턴스 생성용 메소드를 정의한다 JAVA9 이상의 경우 인터페이스에서 private 메소드를 정의할 수 있으나, JAVA8 버전의 경우는 인터페이스에 private 메소드를 정의할 수 없다. JAVA8을 사용한다면 abstract 클래스를 이용하여 필요한 메소드를 정의한다. public interface ShipFactory { default Ship orderShip(String name, String email) { Ship ship = createShip(); sendEmailT..

디자인 패턴 2022. 2. 10. 16:31
01. 싱글톤 패턴

1. 의미 시스템 런타임이나 환경설정과 같이 오직 하나의 인스턴스만 만들어 제공할때 사용하는 패턴. 2. 작성 방법 new 키워드를 사용하여 인스턴스를 생성하지 못하도록 막는다. static 메서드를 통해 인스턴스를 가져오는 하나의 통로를 만든다. public class Settings { private static Settings instance = null; private Settings() { } public static Settings getInstance() { if (instance == null) { instance = new Settings(); } return instance; } } public class App { public static void main(String[] args) ..

디자인 패턴 2022. 2. 10. 14:35
이전 1 2 3 4 다음
이전 다음
250x250
최근에 올라온 글
최근에 달린 댓글
TAG
  • 일기
  • CoroutineScope
  • 웹개발
  • Spring Boot
  • 디자인패턴
  • git
  • DevOps
  • Docker
  • async
  • 운동
  • nodejs
  • 파이썬
  • 객체지향
  • structured concurrency
  • 비동기프로그래밍
  • 코틀린
  • 자바스크립트
  • Coroutine
  • 오브젝트
  • kotlin
more
Total
Today
Yesterday

Blog is powered by Tistory / Designed by Tistory

티스토리툴바