2018-4-22 Java DesignPattern (2)
자바 디자인패턴
- 객체지향특성은 두구로 비유가 되고, 설계원친은 도구의 사용방법으로 비유가 된다. 디자인패턴은 레서피로 비유가 된다.
- 디자인패턴은 객체지향의 특성 중 상속, 인터페이스, 합성(객체를 속성으로 사용)을 이용한다.
어댑터패턴(Adapter Pattern)
package DesignPattern;
class ServiceA {
void runServerA() {
System.out.println("ServiceA");
}
}
class ServiceB {
void runServerB() {
System.out.println("ServiceB");
}
}
public class ClientWithNoAdapter {
public static void main(String[] args) {
ServiceA sa1 = new ServiceA();
ServiceB sa2 = new ServiceB();
sa1.runServerA();
sa2.runServerB();
}
}
package DesignPattern;
class ServiceA {
void runServerA() {
System.out.println("ServiceA");
}
}
class AdapterServiceA {
ServiceA sa1 = new ServiceA();
void runserver() {
sa1.runServerA();
}
}
class ServiceB {
void runServerB() {
System.out.println("ServiceB");
}
}
class AdapterServiceB {
ServiceB sb1 = new ServiceB();
void runserver() {
sb1.runServerB();
}
}
public class ClientWithNoAdapter {
public static void main(String[] args) {
AdapterServiceA asa1 = new AdapterServiceA();
AdapterServiceB asb1 = new AdapterServiceB();
asa1.runserver();
asb1.runserver();
}
}
- 클라이언트가 변환기를 통해서 runService()라는 동일한 메서드명으로 두 객체의 메서드를 호출하는 것을 볼 수 있다. 변환기들이 인터페이스를 구현하게 해서 더 개선을 할 수 있다.
어댑터 패턴은 합성, 즉 객체를 속성으로 만들어서 참조하는 패턴이다.
Written on April 22, 2018