본문 바로가기

Java/Design Pattern3

Template Method Pattern 알고리즘의 구조를 메소드에 정의하고 하위 클래스에서 알고리즘 구조의 변경없이 알고리즘을 재정의 하는 패턴 구현하려는 알고리즘이 일정한 프로세스가 있다. 구현하려는 알고리즘이 변경 가능성이 있다. 알고리즘은 여러 단계로 나눈다. 나눠진 알고리즘의 단계를 메소드로 선언한다. 알고리즘을 수행할 템플릿 메소드를 만든다. 하위 클래스에서 나눠진 메소드들을 구현한다. public abstarct class AbstGameConnectHelper{ protected abstarct String doSecurity(String string); protected abstarct boolean authentication(String id , String password); protected abstarct int auth.. 2020. 9. 1.
어댑트 패턴(Adapter Pattern) public class Math { public static double twoTime(double num){ return num*2; } public static double half(double num){ return num/2; } public static Double double(Double d) { return d*2; } } public interface Adapter{ public Float twiceOf(Float f); public Float halfOf(Float f); } public class AdapterImpl implements Adapter { @Override public Float twiceOf(Float f) { Math.twoTime(); } @Override publ.. 2020. 8. 25.
전략 패턴(Strategy Pattern) 전략 패턴 각 객체들이 할 수 있는 행위들을 각 전략클래스에 생성하고, 각 전략클래스는 하나의 추상적인 접근점 (인터페이스)를 상속받아 각각 자신의 행위들을 정의한다. 행위를 변경하고 싶을때마다 전략을 바꾸는 코드로 유연하게 개발할 수 있다. 예제 public interface Weapon { public void attack(); } public class knife implements Weapon { @Overide public void attack() { System.out.println("검 공격"); } } public class Ax implements Weapon { @Overide public void attack() { System.out.println("도끼 공격"); } } publi.. 2020. 8. 23.