디자인패턴(2)
-
자바 디자인패턴(1), 전략 패턴(Strategy pattern)
전략 패턴(Strategy pattern) 여러 알고리즘을 하나의 추상적인 접근점(인터페이스)을 만들어서 접근점에서 서로 교환 가능하게 만든다. 클라이언트는 전략을 소유하고 있다. 전략은 각각 A, B, C가 있고, Strategy는 인터페이스로 구현한다. 클라이언트는 Strategy를 직접 호출해 StrategyA, StrategyB, StrategyC를 모두 사용할 수 있다. 요구 사항 신작 게임에서 캐릭터와 무기를 구현해보기 - 무기는 '칼', '검' 두 종류가 있다. => 칼과 검은 각각 알고리즘의 대상이되어 무기는 하나의 인터페이스로 존재할 수 있다. 따라서 이는 전략패턴으로 구현할 수 있다. 무기 인터페이스 선언 // Weapon.java public interface Weapon { publ..
2022.09.30 -
자바, 싱글톤 패턴 실습
싱글톤 패턴은 디자인 패턴 중 하나로, 인스턴스가 하나만 존재해야하는 경우에 대한 클래스 템플릿을 의미한다. 현재 자바를 두권의 책(가장 빨리 만나는 코어 자바9, Do it! 자바 프로그래밍 입문)으로 학습 중이다. 이 중 Do it! 자바 프로그래밍 입문에서 나온 예제를 가지고 싱글톤 패턴 실습을 진행하고자 한다. 회사 클래스 어떤 회사의 직원들을 객체 지향 프로그램으로 구현한다고 가정할 때 직원은 여러명이겠지만 회사는 하나이다. 이러한 경우에 회사는 싱글톤 패턴으로 구현할 수 있다. 이때 싱글톤 패턴은 생성자와 인스턴스를 private으로 구현하고, public 메서드를 통해 외부에 인스턴스를 반환하는 형식으로 구현된다. // Company.java package singleton; public c..
2022.09.03