歯2000-09-Final.PDF



Similar documents
<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>


J2EE Concepts

자바-11장N'1-502

fundamentalOfCommandPattern_calmglow_pattern_jstorm_1.0_f…

10.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt

KYO_SCCD.PDF

신림프로그래머_클린코드.key

PowerPoint 프레젠테이션

JMF3_심빈구.PDF

<C0DAB7E120C7D5BABB2E687770>

Microsoft Word - SE_Team Report.docx

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

비긴쿡-자바 00앞부속

목차 1. 개요 USB 드라이버 설치 (FTDI DRIVER) FTDI DRIVER 실행파일 USB 드라이버 확인방법 DEVICE-PROGRAMMER 설치 DEVICE-PROGRAMMER

5장.key

초보자를 위한 자바 2 21일 완성 - 최신개정판

PowerPoint 프레젠테이션

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

rmi_박준용_final.PDF

Microsoft PowerPoint - 03-TCP Programming.ppt

MasoJava4_Dongbin.PDF

歯JavaExceptionHandling.PDF

02 C h a p t e r Java

Something that can be seen, touched or otherwise sensed

Sena Device Server Serial/IP TM Version

제목을 입력하세요.

(......).hwp

JMF2_심빈구.PDF

chapter4

mytalk

UML


#³óÃÌ°æÁ¦ 64È£-Ä®¶ó¸é

¾Èµ¿±³È¸º¸ÃÖÁ¾

¾Ë±â½¬¿îÀ±¸®°æ¿µc03ÖÁ¾š

Interstage5 SOAP서비스 설정 가이드

07 자바의 다양한 클래스.key


목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

13-Java Network Programming

No Slide Title

Domino Designer Portal Development tools Rational Application Developer WebSphere Portlet Factory Workplace Designer Workplace Forms Designer

Chap7.PDF

Ç¥Áö

제11장 프로세스와 쓰레드

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

FileMaker ODBC and JDBC Guide

6주차.key

PowerPoint 프레젠테이션

05-class.key

PowerPoint 프레젠테이션

FileMaker ODBC 및 JDBC 가이드

untitled

( )부록

11 템플릿적용 - Java Program Performance Tuning (김명호기술이사)

11강-힙정렬.ppt

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (

01-OOPConcepts(2).PDF

untitled

MPLAB C18 C


untitled

13주-14주proc.PDF

13 Who am I? R&D, Product Development Manager / Smart Worker Visualization SW SW KAIST Software Engineering Computer Engineering 3

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

untitled

OOP 소개

USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl C

final_thesis

Microsoft PowerPoint - RMI.ppt

PowerSHAPE 따라하기 Calculate 버튼을 클릭한다. Close 버튼을 눌러 미러 릴리프 페이지를 닫는다. D 화면을 보기 위하여 F 키를 누른다. - 모델이 다음과 같이 보이게 될 것이다. 열매 만들기 Shape Editor를 이용하여 열매를 만들어 보도록

Microsoft Word - Installation and User Manual_CMD V2.2_.doc

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

À©µµ³×Æ®¿÷ÇÁ·Î±×·¡¹Ö4Àå_ÃÖÁ¾

No Slide Title

untitled

PowerPoint 프레젠테이션

DE1-SoC Board

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

09-interface.key

자바 프로그래밍

강의10

웹의 뼈대, HTML

10X56_NWG_KOR.indd

untitled

FileMaker ODBC and JDBC Guide

歯PLSQL10.PDF


04-다시_고속철도61~80p

Deok9_Exploit Technique

Chap12

SW¹é¼Ł-³¯°³Æ÷ÇÔÇ¥Áö2013

제목

Intro to Servlet, EJB, JSP, WS

(SW3704) Gingerbread Source Build & Working Guide

Transcription:

<JSTORM> Design Pattern - API JSTORM http://www.jstorm.pe.kr -1-

java API 2000-08-14 Public 2000-08-16 Draft (dbin@handysoft.co.kr), (pam@emotion.co.kr) HISTORY (csecau@orgio.net) 2001/2/15 9 10 jstorm pdf. -2-

-3-

caller callee interface subclass superclass getinfo() -4-

caller interface callee getinfo() interface->getinfo() interface getinfo() callee2 getinfo() -5-

1. 1-6-

: ç -7-

-8-

-9- JDBCHelper JDBCHelper() connect() close() commit() next() select() update() getstring() getstring() getint() getint() getfloat() getfloat() getdate() getdate()

-10-

-11- JDBCHelper2 JDBCHelper() connect() close() commit() next() select() update() getstring() getstring() getint() getint() getfloat() getfloat() getdate() getdate() preparedstatement() pstmtsetstring() pstmtsetfloat() pstmtsetint() pstmtsetnull() pstmtselect() pstmtupdate()

JDBCHelper3 JDBCHelper() connect() close() commit() next() select() update() getstring() getstring() getint() getint() getfloat() getfloat() getdate() getdate() preparedstatement() pstmtsetstring() pstmtsetfloat() pstmtsetint() pstmtsetnull() pstmtselect() pstmtupdate() callablestatement() cstmtsetstring() cstmtsetfloat() cstmtsetint() cstmtsetnull() cstmtupdate() cstmtregisteroutparameter() -12-

-13-

-14-

ç ç ç -15-

ç -16-

JDBCHelperFactory createjdbchelper() getfactory() <<Interface>> JDBCHelperFactoryIF <<Interface>> JDBCHelper connect() close() commit() next() select() update() getstring() getstring() getint() getint() getfloat() getfloat() getdate() getdate() setstring() setfloat() setint() setnull() regoutparameter() JDBCStatementHelper JDBCPreparedStatementHelper createjdbchelper() 1. 2 PreparedStatement JDBC Helper - Factory Method Pattern -17-

-18-

-19- JDBCHelper connect() begintransaction() commt() select() update() getstring() getstring() getint() getint() getfloat() getfloat() getdate() getdate() setstring() setfloat() setint() setnull() regoutparameter() <<Interface>> JDBCStatementHelper JDBCPreparedStatementHelper JDBCHelperFactory getfactory() JDBCHelperFactoryIF getfactory() <<Interface>> JDBCCallableStatementHelper

CodeConverter convertfromdefault() converttodefault() createconverter() CodeConvert8859_1 convertfromdefault() converttodefault() CodeConverterKSC560 1 convertfromdefault() converttodefault() -20-

-21-

-22- SQLFactory createsqlfactory() getsearchsql() AnsiSQLFactory getsearchsql() OracleSQLFactory getsearchsql() MSSQLServerSQL Factory getsearchsql()

-23- : (Cache Management Pattern) 1 Refactoring : :.

-24-

2 GOF : Gang of Four : Design Pattern : the reusable Object 4 GOF Book.. -25-

-26-

-27-

-28-

-29-

-30-

-31-

Box ç ç ç Client uses Facade class1 class2 2. 3 Facade Pattern -32-

Product CreationRequestor operation1() operation2() requests-creation ConcreteProdu ct operation1() operation2() FactoryIF createproduct() Factory createproduct() 3. 4 Factory Method Pattern -33-

Client AbstractStrategy operation() ConcreteStrategy1 ConcreteStrategy2 operation() 4. 5 Strategy Pattern operation() -34-

-35-

??? (Refactoring).,.......,.. -36-

Extract Method. void printowing(double amount) { printbanner(); //printdetails System.out.println( name: +_name); System.out.println( amount: +amount); }, printdetails. void printowing(double amount) { } printbanner(); printdetails(amount); void printdetails(double amount) { } System.out.println( name: +_name); System.out.println( amount: +amount); Extract Method.....,. Refactoring : Improving the Design of Existing Code,1999... -37-

. (Anti-Pattern)......,,.. 6 5. 3 1. 2....(from www.antipatterns.com)...?.. 3. - : - : - : -.. - (Spaghetti Code ) :. - ( Stovepipe System ) :. - (Analysis Paralysis ) : -38-

. - (Swiss Army Knife ) :. - ( Ambiguous Viewpoint ) :.. - Anti Patterns : Refactoring Software, Architectures, and Projects in Crisis,1998 by William J.Brown & - Anti Patterns and Patterns in Software Configuration Management, 1998 by William J.Brown & -39-

1. -40-

5. 6 - System Use Case -41-

6. 7 3 Produce-Consumer Model -42-

-43-7. 8 -

-44-8. 9

-45-9. 10.

- - - -46-

1. 2 : Request Diispatcher Exception -47-

-48-

: RequestDispatcher : ServerSocket : MasterThread : ServerProtocolHandler : ServerProtocolHandlerIF : ObjectInputStream : Command : ObjectOutputStream while loop start while loop end 1: ServerSocket(int) 2: accept( ) 3: MasterThread(Socket) 4: start( ) 5: getinstance( ) 6: getcommand(inputstream) 7: readobject( ) 8: execute( ) 9: send(outputstream, Object) 10: writeobject(object) -49-

-50-

-51-

RequestDispatcher (from server) port : int RequestDispatcher() run() main() MasterThread (from server) $ SOCKET_TIME_OUT : int = 300000 MasterThread() run() -$handler ServerProtocolHa ndlerif (from server) send() getcommand() ServerProtocolHandler (from server) ServerProtocolHandler() getinstance() getcommand() send() Command (from cmd) execute() getname() -52-

: Client : : EchoCommand ClientProtocolHandler : ClientProtocolHandlerIF : Socket : ObjectOutputStream : ObjectInputStream 1: setstring(string) 2: connect( ) 3: Socket(String, int) 4: getinstance( ) 5: sendcommand(inputstream, OutputStream, Command) 6: writeobject(object) 7: readobject( ) -53-

-54-

ServerException (from client) Client $ SOCKET_TIME_OUT : int = 300000 port : int Client() connect() run() main() (from client) ServerException() ServerException() ClientProtocolHandler (from client) ClientProtocolHandler() getinstance() send() receive() sendcommand() EchoCommand (from cmd) setstring() execute() getname() -$handler ClientProtocolHandl erif (from client) Command sendcommand() (from cmd) execute() getname() 4 40. -55-

-56-

-57-

-58-

: RequestDispatcher : ServerSocket : MasterThread : ServerProtocolHandler : ServerProtocolHandlerIF : ObjectInputStream : CommandQueue : Queue : Command : ObjectOutputStream 1: ServerSocket(int) 2: accept( ) 3: MasterThread(Socket) 4: start( ) 5: getinstance( ) 6: getcommand(inputstream) 7: readobject( ) CommandQueue.push, CommandQueue.pop added 8: push(command) 9: push(object) 10: wait() 11: execute( ) 12: send(outputstream, Object) 13: pop( ) 14: pop( ) 15: notify( ) -59-

Invoker AbstractCo mmand Manages 1 doit() 0..n +creator/invoker undoit() 1 CommandManager Creates-and-invokes +invokeeconcreatec ommand 0..n doit() undoit() -60-

-61-