디자인패턴4 [Architecture] 팩토리 메서드 (Factory Method) 패턴 클린 아키텍처 살아있는 전설이 들려주는 실용적인 소프트웨어 아키텍처 원칙『클린 코드』와 『클린 코더』의 저자이자 전설적인 소프트웨어 장인인 로버트 C. 마틴은 이 책 『클린 아키텍처』에서 이러한 www.yes24.com 팩토리 메서드 (Factory Method) 패턴 객체를 생성하는 인터페이스를 정의하고 어떤 객체를 생성할지는 하위 클래스에 맡긴다. 팩토리 메서드 패턴의 사용 경우 만들어야 할 객체의 클래스 종류를 예측할 수 없다. 만들어야 할 객체의 하위 클래스를 명시하고 싶다. 다른 도우미 하위 클래스 (Helper Subclass)에 역할을 위임하고 위임하는 해당 도우미 하위클래스에 대한 정보를 집중시키고 싶다. 추상 팩토리 또한 팩토리 메서드 패턴을 사용하여 구현한 것 2021. 7. 4. [Architecture] 템플릿 메서드 (Template Method) 패턴 클린 아키텍처 살아있는 전설이 들려주는 실용적인 소프트웨어 아키텍처 원칙『클린 코드』와 『클린 코더』의 저자이자 전설적인 소프트웨어 장인인 로버트 C. 마틴은 이 책 『클린 아키텍처』에서 이러한 www.yes24.com 템플릿 메서드 (Template Method) 패턴 알고리즘의 동작에 있어서 뼈대를 정의한다. 전체적인 알고리즘은 동일하되 세부적인 부분만 바뀌어야할 때 사용 상위클래스에 전체적인 행위를 정의해놓고 하위클래스에서 재구현하도록 한다. 2021. 7. 4. [Architecture] 프로토타입 패턴 (Prototype Pattern) 클린 아키텍처 살아있는 전설이 들려주는 실용적인 소프트웨어 아키텍처 원칙『클린 코드』와 『클린 코더』의 저자이자 전설적인 소프트웨어 장인인 로버트 C. 마틴은 이 책 『클린 아키텍처』에서 이러한 www.yes24.com 프로토타입 패턴 (Prototype Pattern) 프로토타입의 인스턴스를 이용해서 생성할 객체의 종류를 '등록'하고 만들어진 견본을 '복사'해서 새로운 객체를 생성한다. 제품의 생성, 합성, 표현 방법에 독립적인 제품을 만들고자 할 때 사용 프레임워크와 생성할 인스턴스를 분리하고 싶을 때 사용한다. 클래스 계층도의 병렬성을 갖는 팩토리 클래스의 계층을 피해야할 때 사용한다. 클래스의 인스턴스들이 서로 다른 상태 조합 중에 어느 하나를 가질 때 사용한다. 미리 프로토타입으로 초기화해두고 .. 2021. 7. 4. [Architecture] 빌더(Builder) 패턴 클린 아키텍처 살아있는 전설이 들려주는 실용적인 소프트웨어 아키텍처 원칙『클린 코드』와 『클린 코더』의 저자이자 전설적인 소프트웨어 장인인 로버트 C. 마틴은 이 책 『클린 아키텍처』에서 이러한 www.yes24.com 빌더(Builder) 패턴 복잡하게 구성된 제품을 만들 때 같은 절차를 통하여 서로 다른 결과물을 만들 수 있도록 하는 패턴 객체의 생성과정과 표현방법을 분리함으로써 같은 생성 공정이 다른 표현을 만들 수 있게함. 구성요소를 먼저 결정 이후 조합 import Foundation enum Hobby: String { case drive case game case football } class Human { var name: String = "" var age: Int = 0 var hobb.. 2021. 6. 21. 이전 1 다음