Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 암호화
- node.js
- RDS
- JSP
- 알고리즘
- Servlet
- Spring
- model1
- PL/SQL
- Ajax
- phaser
- 배포
- Cookie
- 도커
- jQuery
- HTML
- AWS
- docker
- CSS
- tiles.xml
- EC2
- express
- 블록체인
- 웹게임
- autowired
- 웹소켓
- websocket
- 비트코인
- SQL
- JavaScript
Archives
- Today
- Total
記錄
Abstract Factory Pattern(추상 팩토리 패턴) 본문
Abstract Factory Pattern(추상 팩토리 패턴)
추상 팩토리 패턴은 많은 수의 연관된 서브 클래스를 특정 그룹으로 묶어 한번에 교체할 수 있도록 만든 디자인 패턴입니다. 예를 들어 특정 라이브러리를 배포하는데 OS별로 지원하는 기능이 상이하다면 추상 팩토리 패턴을 사용해 OS별 기능 변경을 통합적으로 변경 할 수 있습니다.
출처 : http://jdm.kr/blog/192
추상 팩토리 패턴(Abstract factory pattern)은 다양한 구성 요소 별로 '객체의 집합'을 생성해야 할 때 유용하다. 이 패턴을 사용하여 상황에 알맞은 객체를 생성할 수 있다.
출처 : 위키
public interface Barrack {
public Armor makearmor();
public Weapon makeweapon();
}
public class FirebatBarrack implements Barrack {
@Override
public Armor makearmor() {
return new AntiFlameArmor();
}
@Override
public Weapon makeweapon() {
return new FlameThrower();
}
}
public class MarineBarrack implements Barrack {
@Override
public Armor makearmor() {
return new NormalArmor();
}
@Override
public Weapon makeweapon() {
return new Gun();
}
}
public class Main {
public static void main(String[] args) {
Barrack barrack = new FirebatBarrack();
Unit unit1 = new Unit(barrack.makearmor(), barrack.makeweapon());
barrack = new MarineBarrack();
Unit unit2 = new Unit(barrack.makearmor(), barrack.makeweapon());
}
}
// 나머지 코드는 생략
템플릿 메소드 패턴
하나의 절차적 알고리즘을 작게 나눠 모듈화 해서 반복적인 부분은 그대로 두고 가변적인 부분은 Override하도록 하여 코드의 재사용성과 효율성을 높혀주는 패턴
팩토리 메소드 패턴
템플릿 메소드 패턴을 이용한 패턴으로 구조와 구현을 분리한 것이 특징이다. 상속 관계를 통해 구조적으로 동류를 묶어두고 구현은 자식 클래스에서 담당
추상 팩토리 메소드 패턴
많은 수의 서브클래스나 연관된 클래스들을 교체, 변경하기 용이한 코드를 작성할 때 이용되는 패턴. 내부적으로 item 부분에서의 관계는 팩토리 메소드 패턴이 사용된다.
'IT_Fundamental > 디자인 패턴' 카테고리의 다른 글
Builder Pattern(빌더패턴) (0) | 2017.12.11 |
---|---|
Prototype Pattern(프로토 타입 패턴) - 2 (0) | 2017.12.07 |
Prototype Pattern(프로토 타입 패턴) - 1 (0) | 2017.12.07 |
Singleton Pattern(싱글톤 패턴) (0) | 2017.11.23 |
Factory Method Pattern(팩토리 메소드 패턴) (0) | 2017.11.19 |
Comments