2013년 8월 19일 월요일

디자인패턴 Flyweight

Generic 
- 파라미터나 변수의 타입을 정의하지 않는다.
- 사용하는 시점에 선언한다.



for (int i = 0; i <list.size(); i++) 의 문장은 for (Member m : list) 와 같다.

문장 구조.
for (클래스 변수 : 배열 또는 Collection 인터페이스 구현객체)


* Flyweight
- 자주 사용되는 객체, 객체 생성시 시간이 오래 걸리는 객체를 공유하는 것.
ex) pooling 기법 (객체를 빌려서, 사용하고, 다시 반납)

- 가비지 생성을 줄인다.

- 실행속도를 향상시킨다.



RedApp.Class 코드 수정.


RedApp 사용 시나리오.

메뉴>member
멤버관리>list
...
멤러관리>view email
...

멤버관리>menu
메뉴>project
프로젝트관리>list
번호, 제목, 시작일, 종료일
...
프로젝트관리>view 프로젝트번호
번호: 1
제목: ...
내용: 
... ... 
시작일: 2013-08-20
종료일: 2013-10-31
관리자: hong@test.com
프로젝트관리> update
...
프로젝트관리> delete
정말 삭제하시겠습니까?(y/n)y
삭제되었습니다.
정말 삭제하시겠습니까?(y/n)n
삭제 취소하였습니다.
프로젝트관리>add
제목: ...
내용:
...
시작일: 2013-08-20
종료일: 2013-10-20
관리자: hong@test.com

프로젝트관리>menu
메뉴>quit
안녕!

* UI 처리
Boundary

* 업무처리
Control

* Data처리
Entity