자바/디자인패턴(2)
-
자바 디자인패턴(1), 전략 패턴(Strategy pattern)
전략 패턴(Strategy pattern) 여러 알고리즘을 하나의 추상적인 접근점(인터페이스)을 만들어서 접근점에서 서로 교환 가능하게 만든다. 클라이언트는 전략을 소유하고 있다. 전략은 각각 A, B, C가 있고, Strategy는 인터페이스로 구현한다. 클라이언트는 Strategy를 직접 호출해 StrategyA, StrategyB, StrategyC를 모두 사용할 수 있다. 요구 사항 신작 게임에서 캐릭터와 무기를 구현해보기 - 무기는 '칼', '검' 두 종류가 있다. => 칼과 검은 각각 알고리즘의 대상이되어 무기는 하나의 인터페이스로 존재할 수 있다. 따라서 이는 전략패턴으로 구현할 수 있다. 무기 인터페이스 선언 // Weapon.java public interface Weapon { publ..
2022.09.30 -
자바 디자인패턴(0), 인터페이스와 델리게이트
인터페이스 인터페이스는 기능에 대한 선언과 구현을 분리하는 것에 의의가 있다. // Ainterface.java public interface Ainterface { // 기능에 대한 선언 public void funcA(); } // AinterfaceImpl.java public class AinterfaceImpl implements Ainterface { @Override public void funcA() { System.out.println("AAA"); } } - 인터페이스를 사용하면 구현과 선언을 분리해 사용할 수 있다. 또한 어떤 기능을 호출하는 통로가 된다. 인터페이스에 대한 자세한 설명은 자바 인터페이스와 관련된 포스팅을 참고하면 좋을 것 같다. 델리게이트 다른 클래스에서 구현 클래스..
2022.08.28