CS/DesignPattern (DesignPattern) 어댑터 패턴 2020. 4. 21. 22:29 어댑터란? 사전적 의미) 기계 기구 등을 다목적으로 사용하기 위한 부가 기구 프로그래밍적 의미) 이미주 어진 알고리즘을 Adapter를 이용해 원하는 기능으로 변경 알고리즘을 요구사항에 맞게 변경하여 사용할 수 있다는 것이 POINT! 구현 요구사항 두 수에 대한 다음 연산을 수행하는 객체를 생성 수의 *2의 수를 반환 수의 1/2의 수를 반환 Math 클래스에서 위의 알고리즘은 이미 구현되어 있다. 위에 언급하였듯이 Math 클래스에는 두배를 곱하고 2로 나누는 알고리즘이 이미 구현되어있다. public class Math { /*Double*/ public static double twoTime(double num) { return num*2; } /*Half*/ public static double.. (DesignPattern) 템플릿 메서드 패턴 2020. 4. 20. 21:12 템플릿 메서드 패턴이란? 알고리즘 구조를 메서드에 정의하고 하위 클래스에서 알고리즘 구조의 변경 없이 해당 알고리즘을 재 정의하는 패턴 When? 구현하려는 알고리즘이 일정한 프로세스가 있을 때 구현하려는 알고리즘이 변경 가능성이 있을 때 How? 알고리즘을 여러 단계로 나눈다. 나뉜 알고리즘의 단계를 메서드로 선언한다. 알고리즘을 수행할 템플릿 메서드를 만든다. 하위 클래스에서 나뉜 메서드들을 구현한다. 구현 요구사항 신작 게임의 접속을 구현해보자 유저는 게임 접속 하위와 같은 로직을 구현해야 한다. 보안 과정 : 보안 관련 부분을 처리 인증 과정 : user_name과 password가 일치하는지 확인 권한 과정 : 접속자가 유료회원인지 무료회원인지 게임 마스터인지 확인 접속 과정 : 접속자에게 커넥.. (DesignPattern) 전략 패턴 2020. 4. 20. 01:26 인터페이스란 무엇인가? 사전적 의미 : 키보드나 디스플레이 따위처럼 사람과 컴퓨터를 연결하는 장치 두 객체 간의 연결하는 접점을 인터페이스라고 한다. JAVA 언어에서의 인터페이스 기능에 대한 선언과 구현을 분리한다. 기능을 사용하게하는 통로를 제공한다. 기능 구현 시 해당 책임을 다른 객체에게 책임을 위임한다. 스트레티지 패턴이란? 여러 알고리즘에 대한 하나의 추성적인 접근점 (인터페이스) 을 만들어 접근 점에서 서로 교환 가능하는것이 가능하도록 하는 패턴 코드 구현 요구사항 신작 게임에서 캐릭터와 무기를 구현해보자 무기의 종류는 아래와 같이 두가지 종류가 존재한다. Knife, Sword 접근점 (인터페이스 설정) public interface Weapon { public void attack(); .. 이전 1 2 3 다음