프로그래밍 536

디자인 패턴 Visitor 패턴

Visitor 클래스 package kch; public abstract class Visitor { public abstract void visit(File file); public abstract void visit(Directory directory); } Element 인터페이스 package kch; public interface Element {//방문자를 받아들임. public abstract void accept(Visitor v); } Entry 클래스 package kch; import java.util.Iterator; public abstract class Entry implementsElement{ public abstract String getName(); public abstr..

디자인 패턴 Decorator 패턴

처음에는 아래 링크에 들어가셔서 한번 읽어보시면 이 패턴을 이해하는데 아주 도움이 될 것 입니다. http://blog.naver.com/newsdu/80115957298 Display 클래스 package kch; public abstract class Display { public abstract int getColumns();//가로 문자수를 얻는다. public abstract int getRows();//세로 행수를 얻는다. public abstract String getRowText(introw);//row번째의 문자열을 얻는다. public final void show(){//전부 표시한다. for(int i=0 ; i < getRows() ; i++){ System.out.println(g..

디자인 패턴 Composite 패턴

처음에는 아래 링크에 들어가셔서 한번 읽어보시면 이 패턴을 이해하는데 아주 도움이 될 것 입니다. http://blog.naver.com/newsdu/80115957298 Entry 클래스 package kch; /** * @author kch */ public abstract class Entry { /** *@uml.property name="name" */ public abstract String getName(); public abstract int getSize(); publicEntry add(Entry entry) throws FileTreatmentException{ throw new FileTreatmentException(); } public void printList(){ printL..

디자인 패턴 Strategy 패턴

Strategy 인터페이스 package kch; public interface Strategy { public abstract Hand nextHand(); public abstract void study(booleanwin); } WinningStrategy 클래스 package kch; import java.util.Random; public class WinningStrategy implementsStrategy{ //이 클래스는 전판이 이기면 다음에도똑같은 것을 내는 전략을 취함 privateRandom random;//랜덤변수 생성 목적 private boolean won = false;//전판이 이겼는지 졌는지에 대한 필드 private HandprevHand;//전판에 내밀었던 손을 저장함..

디자인 패턴 Bridge 패턴

Bridge 패턴 기능의 클래스 계층 1. 상위 클래스는 기본적인 기능을 가지고 있다. 2. 하위 클래스에서 새로운 기능을 추가한다. 구현의 클래스 계층 1. 상위 클래스는 추상 메소드에 의해 인터페이스를 규정한다. 2. 하위 클래스는 구상 메소드에 의해 그 인터페이스를 구현한다. 구현은 실제 메소드의 내용을 써내려가는 것이고 기능은 그 메소드를 사용해서 어떠한 것을 수행한다고 생각하면 좋습니다. Display클래스는 다리의 역활 CountDisplay는 정의된 메소드 가져다가 자기맘대로 덧붙이는 기능 개선하는 역할 DisplayImpl는 메소드의 정의만 만들어둠. StringDisplayImpl은 메소드를 구현. Display 클래스 브릿지 패턴의 핵심이 되는 부분입니다. 실제로 다리의 역활을 하는중요..

디자인 패턴 Builder 패턴

Builder 패턴 어떤 건물을 지을때 아래에서 위로 조금씩 만들어가는 것처럼 구조를 가진 인스턴스를 쌓아올리는 것을 하는 패턴입니다. 예제는 5개의 클래스가 나옵니다. Builder 문서를 구성하기 위한 메소드를 결정하는 추상 클래스 Director 한 개의 문서를 만드는 클래스 TextBuilder 일반 텍스트를 이용해서 문서를 만드는 클래스 HTMLBuilder HTML 파일을 이용해서 문서를 만드는 클래스 Main 동작 테스트용 클래스 Builder.java public abstract class Builder {//건물의 파트 벽돌 시멘트 철근 같을 것을 추상화함 //구체적으로는 아니고 이런 재료만 쓸 것이다 이런 뜻 구체적으로는 상속받은 클래스가 함 public abstract void mak..

반응형