본문 바로가기

디자인패턴10

팩토리 메서드 패턴 (Factory Method Pattern) 사용의도 객체생성의 인터페이스를 제공하며, 객체의 생성은 서브클래스가 수행하도록 합니다. 장점 객체 생성에 관련된 코드와 동작 코드를 분리할 수 있습니다. 구조 예시) 전사 / 마법사 캐릭터 생성 전사 마법사 시작 체력 및 마력 100 / 100 레벨업 시 증가하는 체력 마력 20 / 10 10 / 20 차이점 레벨업 시 증가하는 체력 마력이 다른 두개의 직업이 있습니다. 추후에 두 직업간의 차이가 계속 생길 것을 대비하여, 다른 클래스를 통해 두개의 클래스를 생성합니다. 이러한 과정에서 신규캐릭터를 인스턴스화 하는 경우, 팩토리 메서드 패턴을 사용하여 이를 구성해보겠습니다. 구조 GOF 설명 our class Creator 추상클래스이며 구체클래스의 부모클래스로, Product 타입을 반환하는 팩토리메.. 2021. 5. 29.
추상팩토리 패턴 (Abstract Factory Pattern) 사용 의도 서로 관련성이 있거나, 독립적인 여러 객체를 생성하기 위한 인터페이스를 제공합니다. 아래의 설명에서는 서로 관련성이 있는 경우에 객체를 생성하는 인터페이스를 제공하는 예시를 통해 추상팩토리 패턴을 설명해보겠습니다. 예시) 화이트모드와 다크모드 개발 기획자에게 화이트모드와 다크모드의 경우에 달라지는 화면을 만들어달라는 요구를 받았습니다. 화이트모드 다크모드 배경화면의 색상이 흰색이어야 한다. 배경화면의 색상이 검은색이어야 한다. 제공되는 폰트는 BOLD 여야 하며, 크기는 10이어야한다. 제공되는 폰트는 ITALIC 이어야 하며, 크기는 12여야한다. 이를 위해 개발자 A는 아래와 같이 클래스를 구성한 뒤, 화면클래스를 반환하도록 하였습니다. 화면 클래스 (Window) 폰트 클래스 (Font).. 2021. 5. 22.