05. Adapter Pattern
8208 ワード
Adapter Pattern
Wrapper: int ➡️ Integer
ロール#ロール#
例えば、
Problem
Solution
変換
→変更を最小限に抑えてクライアントを維持します.
例
Duck
public interface Duck {
public void quack();
public void fly();
}
class MallardDuck implements Duck{
public void quack(){
System.out.println("Quack");
}
public void fly(){
System.out.println("I'm flying");
}
}
Turkeypublic interface Turkey {
public void gobble();
public void fly();
}
class WildTurkey implements Turkey{
@Override
public void gobble() {
System.out.println("Gobble gobble");
}
@Override
public void fly() {
System.out.println("I'm flying a short distance");
}
}
Turkey Adapterturkey->変換duck
public class TurkeyAdapter implements Duck{
Turkey turkey;
public TurkeyAdapter(Turkey turkey) {
this.turkey = turkey;
}
@Override
public void quack() {
turkey.gobble();
}
@Override
public void fly() {
for (int i = 0; i < 5; i++) {
turkey.fly();
}
}
}
Reference
この問題について(05. Adapter Pattern), 我々は、より多くの情報をここで見つけました https://velog.io/@jimin3263/05.-Adapter-Facade-Patternテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol