'빌더패턴' 태그의 글 목록
본문 바로가기
728x90
반응형

빌더패턴4

2021.11.29_빌더패턴04.자바와스프링에서찾아보는패턴 자바 스트링빌더와 버퍼 StringBuilder 스트링 빌더 , 동기화 안쓰는 api StringBuilder stringBuilder = new StringBuilder(); String result = stringBuilder.append("whiteship").append("keesum").toString(); System.out.println(result); 일종의 빌더패턴이라고 할 수 있음 Stream.Builder Stream.Builder stringStreamBuilder = Stream.builder(); stream names = stringStreamBuilder.add("keesun").add("whiteship").build(); names.forEach(System.out::pr.. 2021. 11. 29.
2021.11.29_빌더패턴03.장점과단점 장점 만들기 복잡한 객체 순차적으로 만들 수 있는 장점이 있음 어떤 순서를 강제를 할 수 있음(설계를 잘하면) 순서를 따라가다보면 복잡한 구성을 가진 인스턴스 만들때 완벽하게 체크 할 수 있음 생성자만 가지고 알아낼 수 는 있지만 로직 자체가 복잡해지는데 이를 좀 해결 가능함 입력한 값을 찾을 수 있는 로직 넣으면 제 위치에서 처리 가능하고 디렉터를 사용해서 복잡한 구체적 과정을 숨길 수 있음 동일한 프로세스를 통해 각기다른게 구성된 객체를 만들 수 있는데 , 같은 프로세스면 상관 없는데 다른 빌더라면 추가적인 플랜이 추가될 수 있음 확장성이 용이함 불안전 객체 못쓰게 하는 안전장치가 있음 여기서는 getPlan()호출하기 전까지 못씀 단점 디렉터 또는 디렉터와 함께 빌더까지 만들어야하는 단점이 있음 구.. 2021. 11. 29.
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.
728x90
반응형