'객체지향' 태그의 글 목록 (9 Page)
본문 바로가기
728x90
반응형

객체지향40

2021.11.27_빌더패턴02.패턴적용하기 빌더 인터페이스 만들기 import java.time.LocalDate; public interface TourPlanBuilder { TourPlanBuilder nightsAndDays(int nights, int days); TourPlanBuilder title(String title); TourPlanBuilder startDate(LocalDate localDate); TourPlanBuilder whereToStay(String whereToStay); TourPlanBuilder addPlan(int day, String plan); TourPlanBuilder getPlan(); } 이렇게 인터페이스에 여러개의 메소드를 저의한다. 그리고 마지막에 getPlan을 생성함 이 곳에서 만약에 .. 2021. 11. 27.
2021.11.27_빌더패턴01.패턴소개 빌더패턴 인스턴스 생성과 관련있음 그 인스턴스가 다양한 구성으로 만들어질 수 있고 동일한 프로세스를 통해서 만들 수 있게해주는 패턴임 App.java package me.whiteship.designpatterns._01_creational_patterns._04_builder._01_before; import java.time.LocalDate; public class App { public static void main(String[] args) { TourPlan tourPlan = new TourPlan(); tourPlan.setTitle("칸쿤 여행"); tourPlan.setNights(2); tourPlan.setDays(3); tourPlan.setStartDate(LocalDate.of.. 2021. 11. 27.
2021.11.15_팩토리메소드패턴02.패턴적용하기 아무리 변경해도 코드가 같아야함 Whiteshipfactory.class |before public class WhiteshipFactory { public static Ship orderShip(String name, String email) { // validate if (name == null || name.isBlank()) { throw new IllegalArgumentException("배 이름을 지어주세요."); } if (email == null || email.isBlank()) { throw new IllegalArgumentException("연락처를 남겨주세요."); } prepareFor(name); Ship ship = new Ship(); ship.setName(name); .. 2021. 11. 15.
2021.11.15_팩토리메소드패턴01.패턴소개 팩토리 메소드 패턴 해결하는 문제 어떤 객체 인스턴스를 생성하는 책임을 구체적인 클래스가 아니라 추상적인 인터페이스의 메소드로 감싸는것 이렇게 하는 이유는? 배를 만든다고 할때, 화이트 쉽만 만들면서 사업이 잘됬는데 추후에 블랙 쉽을 만들게 됬는데, 이전은 그냥 static일때 화이트 쉽 만드는 과정이 있었는데 색을 입힌다거나 로고, 글씨 등등 배송을 할꺼라는 처리가 일어났다. 블랙 쉽을 만들기 시작했는데 이전의 클래스에 다른 로고와 다른 색 등등 하면서 if else가 늘어나면서 복잡해짐 다른 배가아니 수륙양용을 만드는 경우에 모든 과정을 하나의 구체적인 클래스에 모두담기에는 로직 자체가 복잡해짐 그래서 추상화 되어 있는 팩토리가 필요하다. 우선 인터페이스를 만들고 추방 매소들 하위 클래스에서 만들게 .. 2021. 11. 15.
728x90
반응형