문제점

유사하지만 약간씩 다른 컴포넌트가 있을 때, 미세하게 다른 요소들을 매번 만들기 쉽지 않음

e.g.) Funch 에서 공통 Textfield 만들 때 사용할 수 있을 듯 ?

Untitled

해결책

복잡한 객체를 단계별로 생성할 수 있도록 하는 디자인 패턴 동일한 코드를 활용하여 새로운 객체를 단계별로 생성

빌더

공통 컴포넌트에 몇 가지 요소를 추가하는 코드

공통 텍스트필드
  .우측 아이콘 추가
	.포커스 됐을 때 UI 변경
  .액션 추가

디렉터

공통 컴포넌트에 일반적으로 자주 사용되는 빌더를 루틴화 시킨 것

let builder = Builder()
let director = Director(builder)
director.create()
let product = builder.result()

코드