검색어 입력폼

Observer, Decorator, Factory, Sington, Command, Adapter&Facade, Templet Method, Iterator&Composite, State, Proxy pattern(패턴)의 예 조사

저작시기 2011.10 |등록일 2012.01.05 파일확장자압축파일 (zip) | 22페이지 | 가격 2,300원

소개글

Pattern이 사용된 예 조사
Observer, Decorator, Factory, Sington, Command, Adapter&Facade, Templet Method, Iterator&Composite, State, Proxy패턴의 예를 각각 2개씩 총 20개 조사.
문제설명, 클래스 다이어그램 및 동작과정, 그리고 실행화면과 고찰의 내용 포함.

목차

1. 과제

2. 내용
① Factory 패턴
② 추상 Factory 패턴
③ Facade 패턴
④ Observer 패턴
⑤ Observer 패턴2
⑥ Decorator 패턴
⑦ Decorator 패턴2
⑧ Command 패턴
⑨ Command 패턴2
⑩ Adapter 패턴
⑪ SingleTon 패턴
⑫ SingleTon 패턴2
⑬ Iterator 패턴
⑭ Composite 패턴
⑮ State 패턴
⑯ State 패턴2
⑰ Templet 패턴
⑱ Templet 패턴2
⑲ Proxy 패턴
⑳ Proxy 패턴2

3. 고찰

본문내용

① Factory 패턴

설명 : Animal a1 = AnimalFactory.create("소"); 와 같은 코드에서 a1이 Cow라는 것을 신경쓰지 않겠다는 겁니다. test클래스 안에는 new 라는 구문 자체가 없습니다. 정확히 어떤 클래스의 인스턴스인지 신경쓰지 않고 구현할 수 있는 장점이 있습니다. 객체 타입이 굉장히 유연해 질 수 있습니다.

동작과정 : main에서 Animal 객체를
new 대신에 AnimalFactory.create() 함수를 호출하여 객체를 생성해줍니다. create()함수 내에서 New를 하게 됩니다.
② 추상 Factory 패턴
설명 : Head first Design Patterns 책에서 배웠던 피자스토어와 비슷합니다. 한국 장난감과 외국 장난감이 있습니다. 외국 장난감과 한국 장난감이 삽이나 추후에 IShvelFactory를 implements해서 다른 종류의 장난감을 만든 장난감이 될 수 있습니다.
동작과정 : 우선 PupustoryFactory 형의 한국형, 외국형의 공장을 만든 다음 PupustoryToys 형의 한국형, 외국형의 객체를 createToy 함수로 만들어 줍니다. createToy내에서 한국형과 외국형 삽이 결정됩니다.
.......
...

참고 자료

없음

압축파일 내 파일목록

소스/abfactory/.classpath
소스/abfactory/.project
소스/abfactory/.settings/org.eclipse.jdt.core.prefs
소스/abfactory/bin/abfactory/IShvelFactory.class
소스/abfactory/bin/abfactory/PupustoryFactory.class
소스/abfactory/bin/abfactory/PupustoryToys.class
소스/abfactory/bin/abfactory/ShvelFactory_eu.class
소스/abfactory/bin/abfactory/ShvelFactory_ko.class
소스/abfactory/bin/abfactory/test.class
소스/abfactory/bin/abfactory/ToyFactory_eu.class
소스/abfactory/bin/abfactory/ToyFactory_ko.class
소스/abfactory/bin/abfactory/Toy_eu.class
소스/abfactory/bin/abfactory/Toy_ko.class
소스/abfactory/src/abfactory/IShvelFactory.java
소스/abfactory/src/abfactory/PupustoryFactory.java
소스/abfactory/src/abfactory/PupustoryToys.java
소스/abfactory/src/abfactory/ShvelFactory_eu.java
소스/abfactory/src/abfactory/ShvelFactory_ko.java
소스/abfactory/src/abfactory/test.java
소스/abfactory/src/abfactory/ToyFactory_eu.java
소스/abfactory/src/abfactory/ToyFactory_ko.java
소스/abfactory/src/abfactory/Toy_eu.java
소스/abfactory/src/abfactory/Toy_ko.java
소스/Adaptor/.classpath
소스/Adaptor/.project
소스/Adaptor/.settings/org.eclipse.jdt.core.prefs
소스/Adaptor/bin/Adaptor/excute/Test.class
소스/Adaptor/bin/Adaptor/groundunit/Marine.class
소스/Adaptor/bin/Adaptor/groundunit/Medic.class
소스/Adaptor/bin/Adaptor/groundunit/MedicAdapter.class
소스/Adaptor/bin/Adaptor/groundunit/SiegeTank.class
소스/Adaptor/bin/Adaptor/unitinterface/MedicUnitInterface.class
소스/Adaptor/bin/Adaptor/unitinterface/TerranUnitInterface.class
소스/Adaptor/src/Adaptor/excute/Test.java
소스/Adaptor/src/Adaptor/groundunit/Marine.java
소스/Adaptor/src/Adaptor/groundunit/Medic.java
소스/Adaptor/src/Adaptor/groundunit/MedicAdapter.java
소스/Adaptor/src/Adaptor/groundunit/SiegeTank.java
소스/Adaptor/src/Adaptor/unitinterface/MedicUnitInterface.java
소스/Adaptor/src/Adaptor/unitinterface/TerranUnitInterface.java
소스/Command/.classpath
소스/Command/.project
소스/Command/.settings/org.eclipse.jdt.core.prefs
소스/Command/bin/Command/Beer.class
소스/Command/bin/Command/Beverage.class
소스/Command/bin/Command/BeverageOnCommand.class
소스/Command/bin/Command/Cider.class
소스/Command/bin/Command/Coke.class
소스/Command/bin/Command/Command.class
소스/Command/bin/Command/Customer.class
소스/Command/bin/Command/OrderList.class
소스/Command/bin/Command/Soju.class
소스/Command/src/Command/Beer.java
소스/Command/src/Command/Beverage.java
소스/Command/src/Command/BeverageOnCommand.java
소스/Command/src/Command/Cider.java
소스/Command/src/Command/Coke.java
소스/Command/src/Command/Command.java
소스/Command/src/Command/Customer.java
소스/Command/src/Command/OrderList.java
소스/Command/src/Command/Soju.java
소스/command1/.classpath
소스/command1/.project
소스/command1/.settings/org.eclipse.jdt.core.prefs
소스/command1/bin/Command.class
소스/command1/bin/command1.class
소스/command1/bin/Fan.class
소스/command1/bin/FanOffCommand.class
소스/command1/bin/FanOnCommand.class
소스/command1/bin/Light.class
소스/command1/bin/LightOffCommand.class
소스/command1/bin/LightOnCommand.class
소스/command1/bin/Switch.class
소스/command1/src/command1.java
소스/Composite/.classpath
소스/Composite/.project
소스/Composite/.settings/org.eclipse.jdt.core.prefs
소스/Composite/bin/AbstractFile.class
소스/Composite/bin/CompositeDemo.class
소스/Composite/bin/Directory.class
소스/Composite/bin/File.class
소스/Composite/src/AbstractFile.java
소스/Composite/src/CompositeDemo.java
소스/Composite/src/Directory.java
소스/Composite/src/File.java
소스/decorator1/.classpath
소스/decorator1/.project
소스/decorator1/.settings/org.eclipse.jdt.core.prefs
소스/decorator1/bin/A.class
소스/decorator1/bin/A_Corner.class
소스/decorator1/bin/B.class
소스/decorator1/bin/Books.class
소스/decorator1/bin/Bookstore.class
소스/decorator1/bin/decorator1.class
소스/decorator1/src/decorator1.java
소스/decorator2/.classpath
소스/decorator2/.project
소스/decorator2/.settings/org.eclipse.jdt.core.prefs
소스/decorator2/bin/Application.class
소스/decorator2/bin/CriteriaLink.class
소스/decorator2/bin/decorator2.class
소스/decorator2/bin/EvaluationCriteria.class
소스/decorator2/bin/GPAEval.class
소스/decorator2/bin/GREEval.class
소스/decorator2/bin/Registrar.class
소스/decorator2/bin/TOEFLEval.class
소스/decorator2/src/decorator2.java
소스/Facade/.classpath
소스/Facade/.project
소스/Facade/.settings/org.eclipse.jdt.core.prefs
소스/Facade/bin/Facade/Audio.class
소스/Facade/bin/Facade/Home.class
소스/Facade/bin/Facade/Light.class
소스/Facade/bin/Facade/main.class
소스/Facade/bin/Facade/TV.class
소스/Facade/src/Facade/Audio.java
소스/Facade/src/Facade/Home.java
소스/Facade/src/Facade/Light.java
소스/Facade/src/Facade/main.java
소스/Facade/src/Facade/TV.java
소스/factory/.classpath
소스/factory/.project
소스/factory/bin/factory/Animal.class
소스/factory/bin/factory/AnimalFactory.class
소스/factory/bin/factory/Cat.class
소스/factory/bin/factory/Cow.class
소스/factory/bin/factory/Dog.class
소스/factory/bin/factory/test.class
소스/factory/src/factory/Animal.java
소스/factory/src/factory/AnimalFactory.java
소스/factory/src/factory/test.java
소스/Iterator/.classpath
소스/Iterator/.project
소스/Iterator/.settings/org.eclipse.jdt.core.prefs
소스/Iterator/bin/IteratorDemo.class
소스/Iterator/bin/SomeClassWithData$Iterator.class
소스/Iterator/bin/SomeClassWithData.class
소스/Iterator/src/IteratorDemo.java
소스/Iterator/src/SomeClassWithData.java
소스/observer pattern1/.classpath
소스/observer pattern1/.project
소스/observer pattern1/.settings/org.eclipse.jdt.core.prefs
소스/observer pattern1/bin/ConcreteSubject.class
소스/observer pattern1/bin/NameObserver.class
소스/observer pattern1/bin/observerpattern1.class
소스/observer pattern1/bin/PriceObserver.class
소스/observer pattern1/src/observerpattern1.java
소스/observer pattern2/.classpath
소스/observer pattern2/.project
소스/observer pattern2/.settings/org.eclipse.jdt.core.prefs
소스/observer pattern2/bin/DisplayData.class
소스/observer pattern2/bin/intData.class
소스/observer pattern2/bin/Observer.class
소스/observer pattern2/bin/observerpattern2.class
소스/observer pattern2/bin/Subject.class
소스/observer pattern2/src/observerpattern2.java
소스/proxy1/.classpath
소스/proxy1/.project
소스/proxy1/.settings/org.eclipse.jdt.core.prefs
소스/proxy1/bin/Image.class
소스/proxy1/bin/ProxyExample.class
소스/proxy1/bin/ProxyImage.class
소스/proxy1/bin/RealImage.class
소스/proxy1/src/proxy.java
소스/proxy2/.classpath
소스/proxy2/.project
소스/proxy2/.settings/org.eclipse.jdt.core.prefs
소스/proxy2/bin/Printable.class
소스/proxy2/bin/Printer.class
소스/proxy2/bin/PrinterProxy.class
소스/proxy2/bin/proxypattern1.class
소스/proxy2/src/proxypattern1.java
소스/SingleTon/.classpath
소스/SingleTon/.project
소스/SingleTon/bin/SingleTon/main.class
소스/SingleTon/bin/SingleTon/SingleTon.class
소스/SingleTon/src/SingleTon/main.java
소스/SingleTon/src/SingleTon/SingleTon.java
소스/SingleTon2/.classpath
소스/SingleTon2/.project
소스/SingleTon2/.settings/org.eclipse.jdt.core.prefs
소스/SingleTon2/bin/SingleTon2/main.class
소스/SingleTon2/bin/SingleTon2/SingleTon2.class
소스/SingleTon2/src/SingleTon2/main.java
소스/SingleTon2/src/SingleTon2/SingleTon2.java
소스/state1/.classpath
소스/state1/.project
소스/state1/.settings/org.eclipse.jdt.core.prefs
소스/state1/bin/CeilingFanPullChain.class
소스/state1/bin/High.class
소스/state1/bin/Low.class
소스/state1/bin/Medium.class
소스/state1/bin/Off.class
소스/state1/bin/State.class
소스/state1/bin/StateDemo.class
소스/state1/src/CeilingFanPullChain.java
소스/state1/src/High.java
소스/state1/src/Low.java
소스/state1/src/Medium.java
소스/state1/src/Off.java
소스/state1/src/State.java
소스/state1/src/StateDemo.java
소스/state2/.classpath
소스/state2/.project
소스/state2/.settings/org.eclipse.jdt.core.prefs
소스/state2/bin/DrawState/LineState.class
소스/state2/bin/DrawState/Paint.class
소스/state2/bin/DrawState/PaintTestDrive.class
소스/state2/bin/DrawState/RectangleState.class
소스/state2/bin/DrawState/State.class
소스/state2/bin/DrawState/TriangleState.class
소스/state2/src/DrawState/LineState.java
소스/state2/src/DrawState/Paint.java
소스/state2/src/DrawState/PaintTestDrive.java
소스/state2/src/DrawState/RectangleState.java
소스/state2/src/DrawState/State.java
소스/state2/src/DrawState/TriangleState.java
소스/Templet1/.classpath
소스/Templet1/.project
소스/Templet1/.settings/org.eclipse.jdt.core.prefs
소스/Templet1/bin/PCInstaller.class
소스/Templet1/bin/PointPC_01.class
소스/Templet1/bin/PointPC_02.class
소스/Templet1/bin/StartApp.class
소스/Templet1/src/PCInstaller.java
소스/Templet1/src/PointPC_01.java
소스/Templet1/src/PointPC_02.java
소스/Templet1/src/StartApp.java
소스/Templet2/.classpath
소스/Templet2/.project
소스/Templet2/.settings/org.eclipse.jdt.core.prefs
소스/Templet2/bin/AbstractDisplay.class
소스/Templet2/bin/CharDisplay.class
소스/Templet2/bin/Main.class
소스/Templet2/bin/StringDisplay.class
소스/Templet2/src/AbstractDisplay.java
소스/Templet2/src/CharDisplay.java
소스/Templet2/src/Main.java
소스/Templet2/src/StringDisplay.java
보고서.hwp
다운로드 맨위로