본문 바로가기

Java/Design Pattern3

[디자인 패턴] Strategy Pattern(전략 패턴, 스트레티지 패턴) Strategy Pattern 전략 바꾸기 학습 목표 인터페이스 개념을 이해한다. 델리게이트 개념을 이해한다. 전략 패턴 개념을 이해한다. 인터페이스 키보드나 디스플레이 따위처럼 사람과 컴퓨터를 연결하는 장치 기능에 대한 선언과 구현 분리 기능을 사용 통로 델리게이트 위임하다 스트레티지 패턴 여러 알고리즘을 하나의 추상적인 접근점을 만들어 접근 점에서 서로 교환 가능하도록 하는 패턴 기본 설계 요구 사항 신작 게임에서 캐릭터와 무기를 구현해보세요. 무기는 두 가지 종류가 있습니다. 칼 검 유지 보수 요청 무기 중에 도끼를 추가해주세요 Class Diagram Weapon.class public interface Weapon { public void attack(); } Knife.class public .. 2020. 7. 20.
[디자인 패턴] Factory Method Pattern(팩토리 메소드 패턴) Factory Method Pattern 생성의 템플릿 메소드 패턴 학습 목표 팩토리 메소드 패턴에서 템플릿 메소드 패턴이 사용됨을 안다. 팩토리 메소드 패턴에서의 구조와 구현의 분리를 이해하고 구조와 구현의 분리의 장점을 안다. 유연성 ! → 다른 아이템 생성할 때 Item과 Creator만 생성하면 다른 코드의 변화가 없음 기본 설계 예제 요구 사항 게임 아이템과 아이템 생성을 구현해주세요. 아이템을 생성하기 전에 데이터베이스에서 아이템 정보를 요청합니다. 아이템을 생성 후 아이템 복제 등의 불법을 방지하기 위해 데이터베이스에 아이템 생성 정보를 남깁니다. 아이템을 생성하는 주체를 ItemCreator로 이름 짓습니다. 아이템은 item이라는 interface로 다룰 수 있도록 합니다. item은 u.. 2020. 7. 19.
[디자인 패턴] Template Method Pattren(템플릿 메소드 패턴) 템플릿 메소드 패턴(Template Method Pattren) 공통적인 프로세스를 묶어 주기 학습 목표 일정한 프로세스를 가진 요구사항을 템플릿 메소드 패턴을 이용하여 구현할 수 있다. 알고리즘의 구조를 메소드에 정의하고 하위 클래스에서 알고리즘 구조의 변경없이 알고리즘을 재정의하는 패턴 수정할 때는 구현 클래스만 수정 효과적인 유지 보수 가능 기본 설계 어떨 때 사용하는 가 구현하려는 알고리즘이 일정한 프로세스가 있다. 여러 단계로 나눌 수 있다. 구현하려는 알고리즘이 변경 가능성이 있다. 사용하는 단계 알고리즘을 여러 단계로 나눈다. 나눠진 알고리즘의 단계를 메소드로 선언한다. 알고리즘을 수행할 템플릿 메소드를 만든다. 하위 클래스에서 나눠진 메소드들을 구현한다. 예제 요구 사항 신작 게임의 접속을.. 2020. 7. 19.