상속을 통해 슈퍼클래스 기능 확장
'hook method' : Override 할 수 있도록 만든 메소드
/* Super Class */ public abstract class UserDao { // 템플릿 메소드 패턴 > 서브클래스에서 구체적인 오브젝트(Connection) 생성 방법을 결정하도록 추상화 public abstract Connection getConnection(); }
메소드 사용// Sub Class 1 public class DUserDao extends UserDao { @Override public Connection getConnection() { Class.forName("com.mysql.jdbc.Driver"); Connection connection = DriverManager.getConnection("url", "user", "passed"); return connection; } } // Sub Class 2 public class NUserDao extends UserDao { @Override public Connection getConnection() { Class.forName("com.mysql.jdbc.Driver"); Connection connection = DriverManager.getConnection("url", "user", "passed"); return connection; } }
@Test public void get() { UserDao userDao = new DUserDao(); }
'design pattern' 카테고리의 다른 글
OOP (Object Oriented Programming) (0) | 2014.03.03 |
---|---|
Factory Method Pattern + Strategy Pattern (0) | 2014.03.03 |
Strategy Pattern (0) | 2014.03.03 |
Factory Method Pattern + Template Method Pattern (0) | 2014.03.03 |
loC (Inverse Of Control) 제어의 역전 (0) | 2014.02.28 |