본문 바로가기
반응형

2023년 이전/디자인 패턴8

디자인 패턴 - 추상 팩토리 패턴(Abstract Factory Pattern) 다양한 구성 요소 별로 '객체의 집합'을 생성해야 할 때 유용하다. 이 패턴을 사용하여 상황에 알맞은 객체를 생성할 수 있다. 제품군을 생성하기 위한 인터페이스를 생성 그 인터페이스를 구성하여 사용할수 있게끔 하는 것입니다. 다시 정리하면 구체적인 클래스에 의존하지 않고 서로 연관되거나 의존적인 객체들의 조합을 만드는 인터페이스를 제공하는 패턴입니다. 즉, 관련성 있는 여러 종류의 객체를 일관된 방식으로 생성하는 경우에 유용하다. 관련 예시 code는 다음과 같습니다. public interface RobotPartsFacotry { String getName(); String getVersion(); ArmPart createArm(); BodyPart createBody(); HeadPart crea.. 2019. 11. 20.
디자인 패턴 - 팩토리 매서드 패턴 (Factory Method Pattern) 팩토리 매서드 패턴이란 객체 생성을 서브클래스로 분리하여 처리하도록 캡슐화 하는 패턴을 말합니다. 각각의 역할은 Product - 팩토리 메서드로 생성될 객체 Creator - 팩토리 메서드를 갖는 클래스 ConcreteCreator - 팩토리 메서드를 구현하는 클래스 입니다. 이 패턴의 핵심은 객체 생성을 전담하는 Fractory Method가 존재하는 점 입니다. 자세한 이해는 예제 code를 보면서 다시 설명하겠습니다. tony가 iron man을 만듭니다. 우선 생서될 객체 Product를 만듭니다. abstract class IronMan{ var version : String? = null var ability : String? = null var power : Int? = null var u.. 2019. 11. 20.
디자인 패턴 - 컴퍼지트 패턴 (Composite Pattern) 객체들의 관계를 트리 구조로 구성하여 부분-전체 계층을 표현하는 패턴으로, 사용자가 단일 객체와 복합 객체 모두 동일하게 다루도록 한다. 역할을 설명하면 Component : 구체적인 부분. 즉, Leaf 클래스와 전체에 해당하는 Composite 클래스에 공통 인터페이스를 정의 Leaf : 구체적인 부분 클래스. Composite 객체의 부품으로 설정 Composite : 전체 클래스. 복수 개의 Component를 갖도록 정의, 그러므로 복수 개의 Leaf, 심지어 복수 개의 Composite 객체를 부분으로 가질 수 있음 으로 정리 할 수 있습니다. 사실 저렇게만 읽으면 감이 잘 안오니 code로 설명 드리겠습니다. 프로젝트를 진행하기 위해 팀원을 모았습니다. 우선 팀원들이 공통적으로 가지는 정보를.. 2019. 11. 19.
디자인 패턴 - 데코레이터 패턴(Decorator Pattern) 데코레이터 패턴은 추가 기능이 필요 할때 서브클래스를 만들어 기능을 유연하게 확장하는 패턴을 말합니다. Component - 기본 기능인 ConcreteComponent와 추가 기능인 Decorator의 공통 기능을 정의 ConcreteComponent - 기본 기능을 구현 Decorator - 많은 수가 존재하는 Decorator의 공통 기능 정의 ConcreteDecorator - 추가 기능 정의Decorator의 하위 클래스로 기본 기능에 추가되는 개별적인 기능을 구현. ConcreteDecorator 클래스는 ConcreteComponent 객체에 대한 참조가 필요한데, 이는 Decorator 클래스에서 Component 클래스로의 ‘합성(composition) 관계’를 통해 표현됨 데코레이터 패.. 2019. 11. 18.
반응형