디자인패턴 (DesignPattern) 싱글턴 패턴 2020. 5. 2. 19:55 https://jwdeveloper.tistory.com/29?category=823919 (Effective Java) 아이템 3. private 생성자나 열거 타입으로 싱글턴임을 보증하라 싱글턴이란? 인스턴스를 오직 하나만 생성할 수 있는 클래스를 뜻함. 장점 고정된 메모리 영역을 얻으면서 한번의 new로 인스턴스를 공유하기 때문에 메모리 낭비를 방지할 수 있다. 두 번째 사용부터는 객체 로.. jwdeveloper.tistory.com 싱글턴 패턴이란? 인스턴스를 오직 하나만 생성할 수 있는 클래스를 뜻함. 장점 고정된 메모리 영역을 얻으면서 한 번의 new로 인스턴스를 공유하기 때문에 메모리 낭비를 방지할 수 있다. 두 번째 사용부터는 객체 로딩 시간이 줄어들어 성능이 좋아진다. 단점 싱글턴 인스.. (DesignPattern) 팩토리메서드 패턴 2020. 4. 22. 23:31 팩토리 메서드 패턴에는 템플릿 메서드 패턴이 사용된다. 해당 내용을 코드를 통해서 알아보자! 구현 요구사항 게임과 아이템과 아이템 생성을 구현 - 아이템을 생성하기 전에 DB에서 아이템 정보를 요청 - 아이템을 생성 후 아이템 복제 등의 불법을 방지하기 위해 DB에 아이템 생성 정보를 남긴다. 아이템을 생성하는 주체는 ItemCreator이다. 아이템은 item이라는 interface로 선언한다. - item은 use 메서드를 기본적으로 가지고 있다. 현재 아이템의 종류는 체력 회복 물약, 마력 회복 물약이 존재한다. 1. item 인터페이스 생성 - use() 메서드 public interface Item { public void use(); } 2. ItemCreator 추상 클래스 생성 - 템플릿 .. (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 다음