본문 바로가기
728x90

design pattern2

추상 팩토리 패턴(abstract factory pattern) 구체적인 클래스에 의존하지 않고 서로 연관되거나 의존적인 객체들의 조합을 만드는 인터페이스를 제공한다. 추상 팩토리 패턴은 서로 관련되 있는 객체들을 묶어서 팩토리 클래스로 만들고, 이들의 팩토리를 조건에 따라 생성하게 다시 팩토리를 만들어 객체를 생성한다. 전반적인 패턴의 구조는 다음과 같다. 위 그림에서 각 클래스는 다음과 같은 역할을 한다. 1. AbstractFactory: 실제 팩토리 클래스의 공통 인터페이스 2. ConcreteFactory: 구체적인 팩토리 클래스로 AbstractFactory 클래스의 추상 메서드를 오버라이드해서 구체적인 제 품을 생성한다. 3. AbstractProduct: 제품의 공통 인터페이스 4. ConcreteProduct: 구체적인 팩토리 클래스에서 생성되는 구체.. 2022. 1. 5.
템플릿 메소드 패턴(Template method pattern) 템플릿 메소드 패턴은 알고리즘의 구조를 메서드에 정의하고, 하위 클래스에서 알고리즘 구조의 변경없이 알고리즘을 재정의 하는 패턴이다. 알고리즘이 단계별로 나누어 지거나, 같은 역할을 하는 메서드이지만 여러곳에서 다른 형태로 사용이 필요한 경우 유용하다. 장점 1. 코드 중복을 줄일 수 있다. 2. 자식 클래스의 역할을 줄여 핵심 로직 관리가 용이하다. 단점 1. 추상 메서드가 많아지면 클래스 관리가 복잡해 진다. 2. 클래스 간의 관계와 코드가 꼬일 수 있다. 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 abstract cla.. 2022. 1. 4.
728x90