디자인패턴 3

Abstract Factory 패턴

구체적인 클래스를 생성하지 않고도 서로 관련성이 있거나 독립적인 여러 객체의 군을 생성하기 위한 인터페이스를 제공한다. 추상화된 인터페이스 팩토리를 제공하고 상황에 따라 그에 맞는 인스턴스들이 생성되도록 함 가령 데이터베이스에 따라 DAO클래스가 달라져야 한다고 할 때, 현재 사용해야 하는 DB의 종류에 따른 DAO 인스턴스를 한꺼번에 생성하도록 한다 샘플예제 : DB type을 설정파일로 받아서, 동적으로 Oracle, Mysql DAO 클래스를 생성해서 호출하는 구조 String dbType = "ORACLE"; DaoFactory daoFactory = null; if(dbType.equals("MYSQL")) { daoFactory = new MysqlDaoFactory(); }else if( d..

디자인패턴 2022.04.20

템플릿 메소드 패턴

공통적으로 적용되는 클래스의 사용방법을 템플릿화해서 추상클래스(abstract class)를 이용해서 정해둔다. 이때, 사용방법(메소드들 사용 순서 등)은 final 메소드로 만들어서 자식 클래스에서 override해서 엉뚱하게 사용하는 것을 방지한다. 템플릿 메소드 패턴은 알고리즘의 골격을 정의한다. 알고리즘의 일부 단계를 자식클래스에서 구현할 수 있으며, 알고리즘의 구조는 그대로 유지하면서 특정 단계만 자식 클래스에서 재정의해서 사용 위와 같이 추상 클래스에서 run() 메소드를 final로 만들어서 사용방법을 알려주고, 개별 메소드나 추사 메소드는 자식 클래스에서 정의하여 사용.

디자인패턴 2022.04.16
반응형