SlideShare a Scribd company logo
PAC νŒ¨ν„΄ Presentation AbstractionControl Pattern μ•„κΏˆμ‚¬http://cafe.naver.com/architect1 TTF	http://www.npteam.net
μƒν˜Έ μž‘μš© μ‹œμŠ€ν…œμ˜ 2가지 νŒ¨ν„΄ μƒν˜Έμž‘μš© μ‹œμŠ€ν…œ MVC νŒ¨ν„΄ PAC νŒ¨ν„΄ Presentation Abstraction Control Model View Controller
PAC νŒ¨ν„΄μ˜ 3가지 μ»΄ν¬λ„ŒνŠΈ Presentation Component   - ν‘œν˜„ Abstraction Component - 데이터 좔상 Control Component - μ‚¬μš©μž μž…λ ₯ 계측ꡬ쑰λ₯Ό 이룬 μ—μ΄μ „νŠΈλ“€μ΄ μ„œλ‘œ ν˜‘λ ₯을이루어 μƒν˜Έμž‘μš© μ†Œν”„νŠΈμ›¨μ–΄ μ‹œμŠ€ν…œμ˜ ꡬ쑰λ₯Ό ν˜•μ„±ν•œλ‹€.
PAC Pattern - Context β–  μ •ν™©(Context)   - μ—μ΄μ „νŠΈλ“€μ΄ ν˜‘λ ₯ν•˜λŠ” μƒν˜Έμž‘μš© μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„κ°œλ°œν•œλ‹€. 이미지 좜처 : http://imgmovie.naver.com/mdi/mi/0129/A2954-18.jpg
PAC Pattern - Problem β–  문제(Problem)   - μƒν˜Έμž‘μš© μ‹œμŠ€ν…œμ€ ν˜‘λ ₯ν•˜λŠ” μ—μ΄μ „νŠΈλ“€μ˜ 집합 각 μ—μ΄μ „νŠΈλ“€μ€ μ—¬μ™•λ²Œκ³Ό 일벌처럼 뢄업화와 ν˜‘λ ₯을 톡해 일을 μ²˜λ¦¬ν•œλ‹€.
PAC Pattern - Problem β–  문제(Problem)   - ν˜‘λ ₯ν•˜λŠ” μ—μ΄μ „νŠΈλ“€λ‘œ κ΅¬μ„±λœ μ•„ν‚€ν…μ²˜ 각각의 μ—μ΄μ „νŠΈλ§ˆλ‹€ 역할을 λΆ„λ¦¬ν•˜κ³  각각의 μ—μ΄μ „νŠΈκ°„ ν˜‘λ ₯을 ν†΅ν•΄μ„œ μ‹œμŠ€ν…œ κΈ°λŠ₯을 μ œκ³΅ν•œλ‹€.
PAC Pattern - Problem β–  문제(Problem)   - μˆ˜ν‰μ , 수직적 λΆ„ν•΄λ₯Ό ν•΄κ²°ν•΄μ•Ό ν•œλ‹€. μˆ˜ν‰μ  λ¬Έμ œμ™€μˆ˜μ§μ  문제λ₯Ό λΆ„λ¦¬ν•˜μ—¬ μ—μ΄μ „νŠΈκ°„ν˜‘λ ₯을 톡해 문제λ₯Ό λ‹¨μˆœν™” ν•œλ‹€. 이미지 좜처 : http://gravity2.cafe24.com/file.php/1/3HumanCannonARC_468x225.jpg
PAC Pattern – Problem(Force) β–  λ¬Έμ œμ— λ‚΄ν¬λœ 영ν–₯λ ₯(Force) - 01   - μ—μ΄μ „νŠΈλŠ” 자체 μƒνƒœμ™€ 데이터λ₯Ό μ €μž₯ν•œλ‹€.   - μ—μ΄μ „νŠΈλ§ˆλ‹€ ν•˜λŠ” 일이 λ‹€λ₯΄λ‹€.   - 전체 Taskλ₯Ό μ œκ³΅ν•˜κΈ° μœ„ν•΄ μƒν˜Έ ν˜‘λ ₯ν•œλ‹€.   - 이λ₯Ό μœ„ν•΄ μ—μ΄μ „νŠΈλ“€μ€ κ΅ν™˜, 데이터, λ©”μ‹œμ§€, 이벀트λ₯Ό μœ„ν•œ 단일 λ©”μ»€λ‹ˆμ¦˜μ΄ ν•„μš”ν•˜λ‹€.
PAC Pattern – Problem(Force) β–  λ¬Έμ œμ— λ‚΄ν¬λœ 영ν–₯λ ₯(Force) - 02   - μƒν˜Έμž‘μš© μ—μ΄μ „νŠΈλ“€μ€ 각각 자체 μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•œλ‹€.   - μŠ€ν”„λ ˆλ“œμ‹œνŠΈμ— 데이터λ₯Ό μž…λ ₯ν•˜λŠ” μž‘μ—…οƒ  ν‚€λ³΄λ“œ μΈν„°νŽ˜μ΄μŠ€   - κ·Έλž˜ν”½ 객체λ₯Ό μ‘°μž‘ν•˜λŠ” μž‘μ—… οƒ  ν¬μΈνŒ… λ””λ°”μ΄μŠ€(μœ„μΉ˜ 지정 도ꡬ)
PAC Pattern – Problem(Force) β–  λ¬Έμ œμ— λ‚΄ν¬λœ 영ν–₯λ ₯(Force) - 03   - μ‹œμŠ€ν…œμ—μ„œ ν”„λ ˆμ  ν…Œμ΄μ…˜ 츑면은 특히 변경이 μž¦μ€ νŽΈμ΄λ‹€.   - 각 μ—μ΄μ „νŠΈμ˜ λ³€κ²½ 및 μΆ”κ°€κ°€ 이루어지더라도전체 μ‹œμŠ€ν…œμ— 영ν–₯을 λ―Έμ³μ„œλŠ” μ•ˆ λœλ‹€.
PAC Pattern – Solution β–  해법(Solution)   - PAC μ—μ΄μ „νŠΈλ“€μ€ 트리 ν˜•νƒœ κ³„μΈ΅κ΅¬μ‘°λ‘œκ΅¬μ„±ν•˜μ—¬ μƒν˜Έμž‘μš© μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ΅¬μΆ•ν•œλ‹€. μΆ” 이 μ’… 속 μ„±
PAC Pattern – Solution β–  해법(Solution)
PAC Pattern – Solution β–  해법(Solution)   - μ΅œμƒμœ„ 레벨 PAC μ—μ΄μ „νŠΈ οƒ μ‹œμŠ€ν…œμ˜ 핡심 κΈ°λŠ₯을 μ œκ³΅ν•œλ‹€.   - 쀑간 레벨 PAC μ—μ΄μ „νŠΈ οƒ  ν•˜μœ„ 레벨 μ—μ΄μ „νŠΈλ₯Ό μ‘°ν•©ν•˜λŠ” μ—­ν•      οƒ  ν•˜μœ„ 레벨 μ—μ΄μ „νŠΈλ“€ μ‚¬μ΄μ˜ 관계 μ—°κ²°   - μ΅œν•˜μœ„ 레벨 PAC μ—μ΄μ „νŠΈ οƒ μ‚¬μš©μžκ°€ λ‹€λ£¨λŠ” 의미적인 κ°œλ…μ„ ν‘œν˜„ν•œλ‹€.
PAC Pattern – Solution β–  해법(Solution)   - λͺ¨λ“  μ—μ΄μ „νŠΈλŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜ κΈ°λŠ₯의 νŠΉμ • 츑면을 λ‹΄λ‹Ήν•œλ‹€. ν”„λ ˆμ  ν…Œμ΄μ…˜ μ»΄ν¬λ„ŒνŠΈ μ œμ–΄ μ»΄ν¬λ„ŒνŠΈ 좔상 μ»΄ν¬λ„ŒνŠΈ
PAC Pattern – Structure β–  μ΅œμƒμœ„ 레벨 PAC μ—μ΄μ „νŠΈ – 01   - 좔상 μ»΄ν¬λ„ŒνŠΈμ—μ„œ ν•˜λŠ” 일 οƒ  μ†Œν”„νŠΈμ›¨μ–΄ μ „μ—­ 데이터 제곡 및 관리   - ν”„λ ˆμ  ν…Œμ΄μ…˜ μ»΄ν¬λ„ŒνŠΈμ—μ„œ ν•˜λŠ” 일 οƒ  맑고 μžˆλŠ” μ±…μž„μ΄ 거의 μ—†λ‹€.   - μ œμ–΄ μ»΄ν¬λ„ŒνŠΈμ—μ„œ ν•˜λŠ” 일     οƒ  ν•˜μœ„ 레벨 μ—μ΄μ „νŠΈλ“€μ΄ μ΅œμƒμœ„ 레벨의 μ„œλΉ„μŠ€λ₯Ό μ‚¬μš©ν•  수 μžˆλ„λ‘ ν•΄μ€€λ‹€.     οƒ  계측 ꡬ쑰간 μ—°κ²° 정보λ₯Ό κ΄€λ¦¬ν•œλ‹€.     οƒ  μ‚¬μš©μžμ™€ μ‹œμŠ€ν…œμ˜ μƒν˜Έμž‘μš© 정보 μ €μž₯
PAC Pattern – Structure β–  μ΅œν•˜μœ„ 레벨 PAC μ—μ΄μ „νŠΈ – 02   - ν”„λ ˆμ  ν…Œμ΄μ…˜ μ»΄ν¬λ„ŒνŠΈμ—μ„œ ν•˜λŠ” 일 οƒ  뷰와 ν•¨μˆ˜μ— λŒ€ν•œ μ•‘μ„ΈμŠ€λ₯Ό μ œκ³΅ν•œλ‹€.   - 좔상 μ»΄ν¬λ„ŒνŠΈμ—μ„œ ν•˜λŠ” 일 οƒ  λ‹€λ₯Έ PAC와 μ˜μ‘΄μ„±μ΄ μ—†λŠ” 데이터 관리   - μ œμ–΄ μ»΄ν¬λ„ŒνŠΈμ—μ„œ ν•˜λŠ” 일     οƒ  μΈν„°νŽ˜μ΄μŠ€μ™€ 데이터 μ‚¬μ΄μ˜ μ–΄λŒ‘ν„° μ—­ν•     οƒ  μ΄λ²€νŠΈμ™€ 데이터 κ΅ν™˜μ„ μœ„ν•΄ μ΅œμƒμœ„ 레벨 μ—μ΄μ „νŠΈμ™€ ν†΅μ‹ ν•œλ‹€.     οƒ  μˆ˜μ‹  데이터λ₯Ό 자체 좔상 μ»΄ν¬λ„ŒνŠΈμ— 전달
PAC Pattern – Structure β–  쀑간 레벨 PAC μ—μ΄μ „νŠΈ – 03   - 볡합과 μ‘°μ • 두 가지 λ‹€λ₯Έ 역할을 μˆ˜ν–‰ν•œλ‹€. 독립적인 객체λ₯Ό ν•˜λ‚˜μ˜ 볡합 객체둜 λ¬ΆλŠ”λ‹€. οƒ ν•˜μœ„ μ—μ΄μ „νŠΈλ“€ κ°„μ˜ 일관성을 μœ μ§€ν•œλ‹€.   - 좔상 μ»΄ν¬λ„ŒνŠΈ οƒ  데이터 μ €μž₯   - ν”„λ ˆμ  ν…Œμ΄μ…˜ μ»΄ν¬λ„ŒνŠΈ οƒ  자체 μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€ κ΅¬ν˜„   - μ œμ–΄ μ»΄ν¬λ„ŒνŠΈ     οƒ  μ΅œμƒμœ„, μ΅œν•˜μœ„ 레벨 PAC와 λ™μΌν•œ μ±…μž„
PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€1)   - μ‚¬μš©μžκ°€ λ·° 코디넀이터 μ—μ΄μ „νŠΈμ˜ ν”„λ¦¬μ  ν…Œμ΄μ…˜ μ»΄ν¬λ„ŒνŠΈμ— μƒˆ λ§‰λŒ€ 차트λ₯Ό 열도둝 μš”μ²­ν•œλ‹€.
PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€1)   - λ·° 코디넀이터 μ—μ΄μ „νŠΈμ˜ μ œμ–΄ μ»΄ν¬λ„ŒνŠΈκ°€ λ§‰λŒ€ 차트 μ—μ΄μ „νŠΈλ₯Ό μΈμŠ€ν„΄μŠ€λ‘œ μƒμ„±ν•œλ‹€.
PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€1)   - λ·° 코디넀이터 μ—μ΄μ „νŠΈλŠ” open 이벀트λ₯Ό μƒˆ λ§‰λŒ€ μ°¨νŠΈμ—μ΄μ „νŠΈμ˜ μ œμ–΄ μ»΄ν¬λ„ŒνŠΈμ— 보낸닀.
PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€1)   - λ§‰λŒ€ 차트 μ—μ΄μ „νŠΈμ˜ μ œμ–΄ μ»΄ν¬λ„ŒνŠΈλŠ” λ·° μ½”λ””λ„€μ΄ν„°μ—μ΄μ „νŠΈλ₯Ό 톡해 데이터λ₯Ό κ°€μ Έμ˜¨λ‹€.
PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€1)   - λ§‰λŒ€ 차트 μ—μ΄μ „νŠΈμ— λ°˜ν™˜λœ λ°μ΄ν„°λŠ” 자체 좔상 μ»΄ν¬λ„ŒνŠΈμ— μ €μž₯λœλ‹€.
PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€1)   - μ œμ–΄ μ»΄ν¬λ„ŒνŠΈλŠ” λ§‰λŒ€ 차트λ₯Ό λ””μŠ€ν”Œλ ˆμ΄ ν•˜κΈ° μœ„ν•΄ ν”„λ ˆμ  ν…Œμ΄μ…˜ μ»΄ν¬λ„ŒνŠΈλ₯Ό ν˜ΈμΆœν•œλ‹€.
PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€1)   - ν”„λ ˆμ  ν…Œμ΄μ…˜ μ»΄ν¬λ„ŒνŠΈλŠ” 화면에 μƒˆ 창을 μƒμ„±ν•˜κ³ , μ œμ–΄ μ»΄ν¬λ„ŒνŠΈμ— 데이터λ₯Ό μš”μ²­ν•œλ‹€.
PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€1)   - μ œμ–΄ μ»΄ν¬λ„ŒνŠΈλŠ” 데이터λ₯Ό 좔상 μ»΄ν¬λ„ŒνŠΈλ‘œλΆ€ν„° 가져와 ν”„λ ˆμ  ν…Œμ΄μ…˜ μ»΄ν¬λ„ŒνŠΈμ— 보낸닀.
PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€1)   - μ΅œμ’…μ μœΌλ‘œ ν”„λ ˆμ  ν…Œμ΄μ…˜ μ»΄ν¬λ„ŒνŠΈλŠ” 받은 데이터λ₯Ό μƒˆ 창에 ν‘œμ‹œν•œλ‹€.
PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€2)   - μ‚¬μš©μžκ°€ μŠ€ν”„λ ˆλ“œμ‹œνŠΈμ— μƒˆ 데이터λ₯Ό μž…λ ₯ν•œλ‹€.  - μ œμ–΄ μ»΄ν¬λ„ŒνŠΈλŠ” 데이터λ₯Ό μ΅œμƒμœ„ 레벨 PAC둜 μ „λ‹¬ν•œλ‹€.
PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€2)   - μ œμ–΄ μ»΄ν¬λ„ŒνŠΈλŠ” 데이터λ₯Ό 좔상 μ»΄ν¬λ„ŒνŠΈμ— μ•Œλ €μ€€λ‹€.   - 좔상 μ»΄ν¬λ„ŒνŠΈλŠ” μ—μ΄μ „νŠΈλ“€μ„ μ—…λ°μ΄νŠΈ ν•˜λ„λ‘ μš”μ²­ν•œλ‹€.
PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€2)   - μ œμ–΄ μ»΄ν¬λ„ŒνŠΈλŠ” λ·° 코디넀이터 μ—μ΄μ „νŠΈμ— 톡지λ₯Ό 보낸닀.
PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€2)   - 뷰코디넀이터 μ—μ΄μ „νŠΈμ˜ μ œμ–΄ μ»΄ν¬λ„ŒνŠΈλŠ” μ‘°μ • μ±…μž„μ„ 맑은 λͺ¨λ“  λ·°PACμ—κ²Œ λ³€κ²½ 톡지λ₯Ό μ „λ‹¬ν•œλ‹€.
PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€2)   - 자체 데이터λ₯Ό μ—…λ°μ΄νŠΈν•˜κ³  이미지λ₯Ό κ°±μ‹ ν•œλ‹€.
PAC Pattern – Implementation β–  κ΅¬ν˜„(Implementation)   - 1단계 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ λͺ¨λΈμ„ μ •μ˜ν•œλ‹€. οƒ  μ‹œμŠ€ν…œμ€ μ–΄λ–€ μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•΄μ•Ό ν•˜λŠ”κ°€?    οƒ  μ–΄λ–€ μ»΄ν¬λ„ŒνŠΈκ°€ 이 μ„œλΉ„μŠ€λ“€μ„ μˆ˜ν–‰ν•  수 μžˆλŠ”κ°€?     οƒ  μ»΄ν¬λ„ŒνŠΈλ“€ κ°„μ˜ κ΄€κ³„λŠ” μ–΄λ– ν•œκ°€?     οƒ  μ»΄ν¬λ„ŒνŠΈλŠ” μ–΄λ–€ 데이터λ₯Ό μ²˜λ¦¬ν•˜λŠ”κ°€?    οƒ  μ‚¬μš©μžλŠ” μ–΄λ–»κ²Œ μ†Œν”„νŠΈμ›¨μ–΄μ™€ μƒν˜Έμž‘μš© ν•˜λŠ”κ°€?
PAC Pattern – Implementation β–  κ΅¬ν˜„(Implementation)   - 2단계PAC 계측을 μ‘°μ§ν™”ν•˜κΈ° μœ„ν•΄ 일반 μ „λž΅μ„ μ •μ˜ν•œλ‹€. οƒ  첫 번째 : μ΅œν•˜μœ„ 곡톡 쑰상 κ·œμΉ™    οƒ  두 번째 : 계측ꡬ쑰(hierarchy)의 심도(depth)  - 3단계 μ΅œμƒμœ„ 레벨 PAC μ—μ΄μ „νŠΈλ₯Ό μ •μ˜ν•œλ‹€. οƒ  μ‹œμŠ€ν…œμ˜ 핡심 κΈ°λŠ₯에 ν•΄λ‹Ήν•˜λŠ” 뢄석 λͺ¨λΈμ˜ 뢀뢄듀을 νŒλ³„ν•΄λ‚Έλ‹€.
PAC Pattern – Implementation β–  κ΅¬ν˜„(Implementation)   - 4단계 μ΅œν•˜μœ„ 레벨 PAC μ—μ΄μ „νŠΈλ₯Ό μ •μ˜ν•œλ‹€. οƒ  μ‹œμŠ€ν…œμ—μ„œ κ°€μž₯ μž‘μ€ 독립적 λ‹¨μœ„μ˜ 뢄석 λͺ¨λΈμ„ μ»΄ν¬λ„ŒνŠΈλ‘œ νŒλ³„ν•΄λ‚Έλ‹€.   - 5단계 μ‹œμŠ€ν…œ μ„œλΉ„μŠ€λ“€μ„ μ œκ³΅ν•˜λŠ” μ΅œν•˜μœ„ 레벨 PACμ—μ΄μ „νŠΈλ“€μ„ μ •μ˜ν•œλ‹€. οƒ  μ£Όμš” λͺ©μ κ³Ό 직접 κ΄€λ ¨λ˜μ§€ μ•Šμ€ 뢀가적인 μ„œλΉ„μŠ€λ“€μ„ ν¬ν•¨ν•œλ‹€.
PAC Pattern – Implementation β–  κ΅¬ν˜„(Implementation)   - 6단계 ν•˜μœ„ 레벨 PAC μ—μ΄μ „νŠΈλ“€μ„ μ‘°ν•©ν•˜κΈ° μœ„ν•œ μ€‘κ°„λ ˆλ²¨ PAC μ—μ΄μ „νŠΈλ“€μ„ μ •μ˜ν•œλ‹€. οƒ  μ‚¬λžŒ-컴퓨터 μƒν˜Έμž‘μš©μ„ μ œκ³΅ν•˜λ©°, ν•˜μœ„ λ ˆλ²¨μ—μ΄μ „νŠΈλ₯Ό μ‘°μž‘ν•˜λŠ” 역할을 ν•˜λŠ” 단계   - 7단계 ν•˜μœ„ 레벨 PAC μ—μ΄μ „νŠΈλ“€μ„ μƒν˜Έμ‘°μ •ν•˜κΈ° μœ„ν•΄ 쀑간 레벨 PAC μ—μ΄μ „νŠΈλ“€μ„ μ •μ˜ν•œλ‹€. οƒ  λ™μΌν•œ 의미적 κ°œλ…μ— λŒ€ν•΄ μ—¬λŸ¬ λ·°λ₯Ό μ œκ³΅ν•œλ‹€.
PAC Pattern – Implementation β–  κ΅¬ν˜„(Implementation)   - 8단계 μ‚¬λžŒ-컴퓨터 μƒν˜Έμž‘μš©μœΌλ‘œλΆ€ν„° 핡심 κΈ°λŠ₯을 뢄리해낸닀. οƒ  λͺ¨λ“  PAC μ—μ΄μ „νŠΈλ§ˆλ‹€ ν”„λ ˆμ  ν…Œμ΄μ…˜ μ»΄ν¬λ„ŒνŠΈμ™€ 좔상 μ»΄ν¬λ„ŒνŠΈλ₯Ό λ„μž…ν•œλ‹€.  - 9단계 μ™ΈλΆ€ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•œλ‹€. οƒ  λ‹€λ₯Έ μ—μ΄μ „νŠΈλ“€κ³Ό ν˜‘λ ₯ν•˜κΈ° μœ„ν•΄ λͺ¨λ“  PAC μ—μ΄μ „νŠΈλ“€μ€ μ΄λ²€νŠΈμ™€ 데이터λ₯Ό 보내고 λ°›λŠ”λ‹€.
PAC Pattern – Implementation β–  κ΅¬ν˜„(Implementation)   - 10단계 계측ꡬ쑰(hierarchy)λ₯Ό ν•¨κ»˜ μ—°κ²°ν•œλ‹€. οƒ  각각의 PAC μ—μ΄μ „νŠΈλ₯Ό κ΅¬ν˜„ν•΄μ•Ό μ΅œμ’… PAC 계측ꡬ쑰λ₯Ό ꡬ좕할 수 μžˆλ‹€. οƒ  ν˜‘λ ₯ 관계에 μžˆλŠ” ν•˜μœ„ 레벨 PAC μ—μ΄μ „νŠΈλ“€μ„ μ—°κ²°ν•¨μœΌλ‘œμ¨ λͺ¨λ“  PAC μ—μ΄μ „νŠΈλ₯Ό ν•¨κ»˜ μ—°κ²°μ‹œν‚¨λ‹€.
PAC Pattern – Variant β–  λ³€ν˜•(Variant)   - ν™œμ„± κ°μ²΄λ‘œμ„œμ˜ PAC μ—μ΄μ „νŠΈ οƒ  λ©€ν‹°μŠ€λ ˆλ”©μ˜ 이점을 ν™œμš©ν•˜κΈ° μœ„ν•΄,ν™œμ„± 객체(Active Object)둜 κ΅¬ν˜„λ  수 μžˆλ‹€. ν™œμ„± 객체 : 자체 μ œμ–΄ μŠ€λ ˆλ“œ μ•ˆμ— μ‚΄μ•„μžˆλŠ” 객체  - ν”„λ‘œμ„ΈμŠ€λ‘œμ˜ PAC μ—μ΄μ „νŠΈ οƒ  μ„œλ‘œ λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€λ‚˜ 원격 λ¨Έμ‹  κ°„μ˜ PAC 톡신을 μ§€μ›ν•˜κΈ° μœ„ν•΄ PAC μ—μ΄μ „νŠΈκ°„ IPC(ν”„λ‘œμ„ΈμŠ€κ°„ 톡신)을 κ΅¬ν˜„ν•œλ‹€.
PAC Pattern – Consequence β–  κ²°κ³Ό(Consequence)   - 역할이 λͺ…ν™•νžˆ λΆ„λ¦¬λœλ‹€.   - κ°€λ³€μ„±κ³Ό ν™•μž₯성이 μ§€μ›λœλ‹€.   - λ©€ν‹°νƒœμŠ€ν‚Ήμ΄ μ§€μ›λœλ‹€.  - μ‹œμŠ€ν…œ λ³΅μž‘μ„±μ΄ μ¦κ°€ν•œλ‹€.
PAC Pattern – Consequence β–  κ²°κ³Ό(Consequence)   - μ œμ–΄ μ»΄ν¬λ„ŒνŠΈκ°€ λ³΅μž‘ν•΄μ§„λ‹€.   - νš¨μœ¨μ„±μ΄ 떨어진닀.   - νŒ¨ν„΄ 적용 μžμ²΄κ°€ 무λͺ¨ν•œ 함정일 수 μžˆλ‹€.   - μ μš©κ°€λŠ₯성이 떨어진닀.
κ°μ‚¬ν•©λ‹ˆλ‹€.

More Related Content

Similar to Pac pattern

uEnginebpm 개발자ꡐ윑 8 μ•‘ν‹°λΉ„ν‹°ν•„ν„°λ₯Ό μ΄μš©ν•œ μ‹œμŠ€ν…œμ—°κ³„
uEnginebpm 개발자ꡐ윑 8 μ•‘ν‹°λΉ„ν‹°ν•„ν„°λ₯Ό μ΄μš©ν•œ μ‹œμŠ€ν…œμ—°κ³„uEnginebpm 개발자ꡐ윑 8 μ•‘ν‹°λΉ„ν‹°ν•„ν„°λ₯Ό μ΄μš©ν•œ μ‹œμŠ€ν…œμ—°κ³„
uEnginebpm 개발자ꡐ윑 8 μ•‘ν‹°λΉ„ν‹°ν•„ν„°λ₯Ό μ΄μš©ν•œ μ‹œμŠ€ν…œμ—°κ³„
flowcontrol
Β 
04.μ‹€ν–‰ν™˜κ²½ ꡐ윑ꡐ재(ν™”λ©΄μ²˜λ¦¬)
04.μ‹€ν–‰ν™˜κ²½ ꡐ윑ꡐ재(ν™”λ©΄μ²˜λ¦¬)04.μ‹€ν–‰ν™˜κ²½ ꡐ윑ꡐ재(ν™”λ©΄μ²˜λ¦¬)
04.μ‹€ν–‰ν™˜κ²½ ꡐ윑ꡐ재(ν™”λ©΄μ²˜λ¦¬)
Hankyo
Β 
2016 SINVAS DAY - ν”„λ ˆμž„μ›Œν¬ 기반 운영 μ‹œμŠ€ν…œ 섀계 λͺ¨λΈ ν˜„ν–‰ν™” λ°©μ•ˆ
2016 SINVAS DAY - ν”„λ ˆμž„μ›Œν¬ 기반 운영 μ‹œμŠ€ν…œ 섀계 λͺ¨λΈ ν˜„ν–‰ν™” λ°©μ•ˆ2016 SINVAS DAY - ν”„λ ˆμž„μ›Œν¬ 기반 운영 μ‹œμŠ€ν…œ 섀계 λͺ¨λΈ ν˜„ν–‰ν™” λ°©μ•ˆ
2016 SINVAS DAY - ν”„λ ˆμž„μ›Œν¬ 기반 운영 μ‹œμŠ€ν…œ 섀계 λͺ¨λΈ ν˜„ν–‰ν™” λ°©μ•ˆ
Suji Lee
Β 
12.context api
12.context api12.context api
12.context api
Daniel Lim
Β 
01. kpi기반의 μ •λŸ‰μ  μ„±λŠ₯ 평가 체계 ꡬ좕
01. kpi기반의 μ •λŸ‰μ  μ„±λŠ₯ 평가 체계 ꡬ좕01. kpi기반의 μ •λŸ‰μ  μ„±λŠ₯ 평가 체계 ꡬ좕
01. kpi기반의 μ •λŸ‰μ  μ„±λŠ₯ 평가 체계 ꡬ좕
InGuen Hwang
Β 
C:\fakepath\whole part pattern
C:\fakepath\whole part patternC:\fakepath\whole part pattern
C:\fakepath\whole part patternlee
Β 
Whole part pattern
Whole part patternWhole part pattern
Whole part patternlee
Β 
Whole part pattern
Whole part patternWhole part pattern
Whole part patternlee
Β 
Whole part pattern
Whole part patternWhole part pattern
Whole part patternlee
Β 
C:\Fakepath\Whole Part Pattern
C:\Fakepath\Whole Part PatternC:\Fakepath\Whole Part Pattern
C:\Fakepath\Whole Part Patternlee
Β 
Whole part pattern
Whole part patternWhole part pattern
Whole part patternlee
Β 
μžλ°”8κ°•μ˜ 2κ°•. Stream API
μžλ°”8κ°•μ˜ 2κ°•. Stream APIμžλ°”8κ°•μ˜ 2κ°•. Stream API
μžλ°”8κ°•μ˜ 2κ°•. Stream API
Sejong Park
Β 
Component configurator
Component configuratorComponent configurator
Component configuratorscor7910
Β 
Client dispatcher server_pattern
Client dispatcher server_patternClient dispatcher server_pattern
Client dispatcher server_patternHeo Seungwook
Β 
Mirantis open stack deployment automation
Mirantis open stack deployment automationMirantis open stack deployment automation
Mirantis open stack deployment automation
WooKyun Jeon
Β 
μ˜€ν”ˆμ†ŒμŠ€ μ†Œν”„νŠΈμ›¨μ–΄ μ„±λŠ₯ μ΅œμ ν™” λ³΄κ³ μ„œ 6μž₯
μ˜€ν”ˆμ†ŒμŠ€ μ†Œν”„νŠΈμ›¨μ–΄ μ„±λŠ₯ μ΅œμ ν™” λ³΄κ³ μ„œ 6μž₯μ˜€ν”ˆμ†ŒμŠ€ μ†Œν”„νŠΈμ›¨μ–΄ μ„±λŠ₯ μ΅œμ ν™” λ³΄κ³ μ„œ 6μž₯
μ˜€ν”ˆμ†ŒμŠ€ μ†Œν”„νŠΈμ›¨μ–΄ μ„±λŠ₯ μ΅œμ ν™” λ³΄κ³ μ„œ 6μž₯
JamGun
Β 
Angular 2 rc5 쑰사
Angular 2 rc5 쑰사Angular 2 rc5 쑰사
Angular 2 rc5 쑰사
Rjs Ryu
Β 
[213]monitoringwithscouter α„‹α…΅α„€α…₯ᆫ희
[213]monitoringwithscouter α„‹α…΅α„€α…₯ᆫ희[213]monitoringwithscouter α„‹α…΅α„€α…₯ᆫ희
[213]monitoringwithscouter α„‹α…΅α„€α…₯ᆫ희
NAVER D2
Β 
Androidpn guide-0.5.0-ko
Androidpn guide-0.5.0-koAndroidpn guide-0.5.0-ko
Androidpn guide-0.5.0-ko
sandeepreddyp42
Β 

Similar to Pac pattern (20)

Mvc pattern
Mvc patternMvc pattern
Mvc pattern
Β 
uEnginebpm 개발자ꡐ윑 8 μ•‘ν‹°λΉ„ν‹°ν•„ν„°λ₯Ό μ΄μš©ν•œ μ‹œμŠ€ν…œμ—°κ³„
uEnginebpm 개발자ꡐ윑 8 μ•‘ν‹°λΉ„ν‹°ν•„ν„°λ₯Ό μ΄μš©ν•œ μ‹œμŠ€ν…œμ—°κ³„uEnginebpm 개발자ꡐ윑 8 μ•‘ν‹°λΉ„ν‹°ν•„ν„°λ₯Ό μ΄μš©ν•œ μ‹œμŠ€ν…œμ—°κ³„
uEnginebpm 개발자ꡐ윑 8 μ•‘ν‹°λΉ„ν‹°ν•„ν„°λ₯Ό μ΄μš©ν•œ μ‹œμŠ€ν…œμ—°κ³„
Β 
04.μ‹€ν–‰ν™˜κ²½ ꡐ윑ꡐ재(ν™”λ©΄μ²˜λ¦¬)
04.μ‹€ν–‰ν™˜κ²½ ꡐ윑ꡐ재(ν™”λ©΄μ²˜λ¦¬)04.μ‹€ν–‰ν™˜κ²½ ꡐ윑ꡐ재(ν™”λ©΄μ²˜λ¦¬)
04.μ‹€ν–‰ν™˜κ²½ ꡐ윑ꡐ재(ν™”λ©΄μ²˜λ¦¬)
Β 
2016 SINVAS DAY - ν”„λ ˆμž„μ›Œν¬ 기반 운영 μ‹œμŠ€ν…œ 섀계 λͺ¨λΈ ν˜„ν–‰ν™” λ°©μ•ˆ
2016 SINVAS DAY - ν”„λ ˆμž„μ›Œν¬ 기반 운영 μ‹œμŠ€ν…œ 섀계 λͺ¨λΈ ν˜„ν–‰ν™” λ°©μ•ˆ2016 SINVAS DAY - ν”„λ ˆμž„μ›Œν¬ 기반 운영 μ‹œμŠ€ν…œ 섀계 λͺ¨λΈ ν˜„ν–‰ν™” λ°©μ•ˆ
2016 SINVAS DAY - ν”„λ ˆμž„μ›Œν¬ 기반 운영 μ‹œμŠ€ν…œ 섀계 λͺ¨λΈ ν˜„ν–‰ν™” λ°©μ•ˆ
Β 
12.context api
12.context api12.context api
12.context api
Β 
01. kpi기반의 μ •λŸ‰μ  μ„±λŠ₯ 평가 체계 ꡬ좕
01. kpi기반의 μ •λŸ‰μ  μ„±λŠ₯ 평가 체계 ꡬ좕01. kpi기반의 μ •λŸ‰μ  μ„±λŠ₯ 평가 체계 ꡬ좕
01. kpi기반의 μ •λŸ‰μ  μ„±λŠ₯ 평가 체계 ꡬ좕
Β 
C:\fakepath\whole part pattern
C:\fakepath\whole part patternC:\fakepath\whole part pattern
C:\fakepath\whole part pattern
Β 
Whole part pattern
Whole part patternWhole part pattern
Whole part pattern
Β 
Whole part pattern
Whole part patternWhole part pattern
Whole part pattern
Β 
Whole part pattern
Whole part patternWhole part pattern
Whole part pattern
Β 
C:\Fakepath\Whole Part Pattern
C:\Fakepath\Whole Part PatternC:\Fakepath\Whole Part Pattern
C:\Fakepath\Whole Part Pattern
Β 
Whole part pattern
Whole part patternWhole part pattern
Whole part pattern
Β 
μžλ°”8κ°•μ˜ 2κ°•. Stream API
μžλ°”8κ°•μ˜ 2κ°•. Stream APIμžλ°”8κ°•μ˜ 2κ°•. Stream API
μžλ°”8κ°•μ˜ 2κ°•. Stream API
Β 
Component configurator
Component configuratorComponent configurator
Component configurator
Β 
Client dispatcher server_pattern
Client dispatcher server_patternClient dispatcher server_pattern
Client dispatcher server_pattern
Β 
Mirantis open stack deployment automation
Mirantis open stack deployment automationMirantis open stack deployment automation
Mirantis open stack deployment automation
Β 
μ˜€ν”ˆμ†ŒμŠ€ μ†Œν”„νŠΈμ›¨μ–΄ μ„±λŠ₯ μ΅œμ ν™” λ³΄κ³ μ„œ 6μž₯
μ˜€ν”ˆμ†ŒμŠ€ μ†Œν”„νŠΈμ›¨μ–΄ μ„±λŠ₯ μ΅œμ ν™” λ³΄κ³ μ„œ 6μž₯μ˜€ν”ˆμ†ŒμŠ€ μ†Œν”„νŠΈμ›¨μ–΄ μ„±λŠ₯ μ΅œμ ν™” λ³΄κ³ μ„œ 6μž₯
μ˜€ν”ˆμ†ŒμŠ€ μ†Œν”„νŠΈμ›¨μ–΄ μ„±λŠ₯ μ΅œμ ν™” λ³΄κ³ μ„œ 6μž₯
Β 
Angular 2 rc5 쑰사
Angular 2 rc5 쑰사Angular 2 rc5 쑰사
Angular 2 rc5 쑰사
Β 
[213]monitoringwithscouter α„‹α…΅α„€α…₯ᆫ희
[213]monitoringwithscouter α„‹α…΅α„€α…₯ᆫ희[213]monitoringwithscouter α„‹α…΅α„€α…₯ᆫ희
[213]monitoringwithscouter α„‹α…΅α„€α…₯ᆫ희
Β 
Androidpn guide-0.5.0-ko
Androidpn guide-0.5.0-koAndroidpn guide-0.5.0-ko
Androidpn guide-0.5.0-ko
Β 

More from Heo Seungwook

λ¦¬νŽ™ν† λ§ 8μž₯ p236_p243
λ¦¬νŽ™ν† λ§ 8μž₯ p236_p243λ¦¬νŽ™ν† λ§ 8μž₯ p236_p243
λ¦¬νŽ™ν† λ§ 8μž₯ p236_p243Heo Seungwook
Β 
Ipv6 μ†ŒμΌ“ν”„λ‘œκ·Έλž˜λ°
Ipv6 μ†ŒμΌ“ν”„λ‘œκ·Έλž˜λ°Ipv6 μ†ŒμΌ“ν”„λ‘œκ·Έλž˜λ°
Ipv6 μ†ŒμΌ“ν”„λ‘œκ·Έλž˜λ°Heo Seungwook
Β 
해외취업이야기
해외취업이야기해외취업이야기
해외취업이야기Heo Seungwook
Β 
C++ ν”„λ‘œμ νŠΈμ— λ‹¨μœ„ ν…ŒμŠ€νŠΈ λ„μž…ν•˜κΈ°
C++ ν”„λ‘œμ νŠΈμ— λ‹¨μœ„ ν…ŒμŠ€νŠΈ λ„μž…ν•˜κΈ°C++ ν”„λ‘œμ νŠΈμ— λ‹¨μœ„ ν…ŒμŠ€νŠΈ λ„μž…ν•˜κΈ°
C++ ν”„λ‘œμ νŠΈμ— λ‹¨μœ„ ν…ŒμŠ€νŠΈ λ„μž…ν•˜κΈ°Heo Seungwook
Β 
MS SharePointλ₯Ό ν™œμš©ν•œ κ°œλ°œν™˜κ²½ ꡬ좕
MS SharePointλ₯Ό ν™œμš©ν•œ κ°œλ°œν™˜κ²½ ꡬ좕MS SharePointλ₯Ό ν™œμš©ν•œ κ°œλ°œν™˜κ²½ ꡬ좕
MS SharePointλ₯Ό ν™œμš©ν•œ κ°œλ°œν™˜κ²½ ꡬ좕Heo Seungwook
Β 
Master slave pattern
Master slave patternMaster slave pattern
Master slave patternHeo Seungwook
Β 

More from Heo Seungwook (6)

λ¦¬νŽ™ν† λ§ 8μž₯ p236_p243
λ¦¬νŽ™ν† λ§ 8μž₯ p236_p243λ¦¬νŽ™ν† λ§ 8μž₯ p236_p243
λ¦¬νŽ™ν† λ§ 8μž₯ p236_p243
Β 
Ipv6 μ†ŒμΌ“ν”„λ‘œκ·Έλž˜λ°
Ipv6 μ†ŒμΌ“ν”„λ‘œκ·Έλž˜λ°Ipv6 μ†ŒμΌ“ν”„λ‘œκ·Έλž˜λ°
Ipv6 μ†ŒμΌ“ν”„λ‘œκ·Έλž˜λ°
Β 
해외취업이야기
해외취업이야기해외취업이야기
해외취업이야기
Β 
C++ ν”„λ‘œμ νŠΈμ— λ‹¨μœ„ ν…ŒμŠ€νŠΈ λ„μž…ν•˜κΈ°
C++ ν”„λ‘œμ νŠΈμ— λ‹¨μœ„ ν…ŒμŠ€νŠΈ λ„μž…ν•˜κΈ°C++ ν”„λ‘œμ νŠΈμ— λ‹¨μœ„ ν…ŒμŠ€νŠΈ λ„μž…ν•˜κΈ°
C++ ν”„λ‘œμ νŠΈμ— λ‹¨μœ„ ν…ŒμŠ€νŠΈ λ„μž…ν•˜κΈ°
Β 
MS SharePointλ₯Ό ν™œμš©ν•œ κ°œλ°œν™˜κ²½ ꡬ좕
MS SharePointλ₯Ό ν™œμš©ν•œ κ°œλ°œν™˜κ²½ ꡬ좕MS SharePointλ₯Ό ν™œμš©ν•œ κ°œλ°œν™˜κ²½ ꡬ좕
MS SharePointλ₯Ό ν™œμš©ν•œ κ°œλ°œν™˜κ²½ ꡬ좕
Β 
Master slave pattern
Master slave patternMaster slave pattern
Master slave pattern
Β 

Pac pattern

  • 1. PAC νŒ¨ν„΄ Presentation AbstractionControl Pattern μ•„κΏˆμ‚¬http://cafe.naver.com/architect1 TTF http://www.npteam.net
  • 2. μƒν˜Έ μž‘μš© μ‹œμŠ€ν…œμ˜ 2가지 νŒ¨ν„΄ μƒν˜Έμž‘μš© μ‹œμŠ€ν…œ MVC νŒ¨ν„΄ PAC νŒ¨ν„΄ Presentation Abstraction Control Model View Controller
  • 3. PAC νŒ¨ν„΄μ˜ 3가지 μ»΄ν¬λ„ŒνŠΈ Presentation Component - ν‘œν˜„ Abstraction Component - 데이터 좔상 Control Component - μ‚¬μš©μž μž…λ ₯ 계측ꡬ쑰λ₯Ό 이룬 μ—μ΄μ „νŠΈλ“€μ΄ μ„œλ‘œ ν˜‘λ ₯을이루어 μƒν˜Έμž‘μš© μ†Œν”„νŠΈμ›¨μ–΄ μ‹œμŠ€ν…œμ˜ ꡬ쑰λ₯Ό ν˜•μ„±ν•œλ‹€.
  • 4. PAC Pattern - Context β–  μ •ν™©(Context) - μ—μ΄μ „νŠΈλ“€μ΄ ν˜‘λ ₯ν•˜λŠ” μƒν˜Έμž‘μš© μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„κ°œλ°œν•œλ‹€. 이미지 좜처 : http://imgmovie.naver.com/mdi/mi/0129/A2954-18.jpg
  • 5. PAC Pattern - Problem β–  문제(Problem) - μƒν˜Έμž‘μš© μ‹œμŠ€ν…œμ€ ν˜‘λ ₯ν•˜λŠ” μ—μ΄μ „νŠΈλ“€μ˜ 집합 각 μ—μ΄μ „νŠΈλ“€μ€ μ—¬μ™•λ²Œκ³Ό 일벌처럼 뢄업화와 ν˜‘λ ₯을 톡해 일을 μ²˜λ¦¬ν•œλ‹€.
  • 6. PAC Pattern - Problem β–  문제(Problem) - ν˜‘λ ₯ν•˜λŠ” μ—μ΄μ „νŠΈλ“€λ‘œ κ΅¬μ„±λœ μ•„ν‚€ν…μ²˜ 각각의 μ—μ΄μ „νŠΈλ§ˆλ‹€ 역할을 λΆ„λ¦¬ν•˜κ³  각각의 μ—μ΄μ „νŠΈκ°„ ν˜‘λ ₯을 ν†΅ν•΄μ„œ μ‹œμŠ€ν…œ κΈ°λŠ₯을 μ œκ³΅ν•œλ‹€.
  • 7. PAC Pattern - Problem β–  문제(Problem) - μˆ˜ν‰μ , 수직적 λΆ„ν•΄λ₯Ό ν•΄κ²°ν•΄μ•Ό ν•œλ‹€. μˆ˜ν‰μ  λ¬Έμ œμ™€μˆ˜μ§μ  문제λ₯Ό λΆ„λ¦¬ν•˜μ—¬ μ—μ΄μ „νŠΈκ°„ν˜‘λ ₯을 톡해 문제λ₯Ό λ‹¨μˆœν™” ν•œλ‹€. 이미지 좜처 : http://gravity2.cafe24.com/file.php/1/3HumanCannonARC_468x225.jpg
  • 8. PAC Pattern – Problem(Force) β–  λ¬Έμ œμ— λ‚΄ν¬λœ 영ν–₯λ ₯(Force) - 01 - μ—μ΄μ „νŠΈλŠ” 자체 μƒνƒœμ™€ 데이터λ₯Ό μ €μž₯ν•œλ‹€. - μ—μ΄μ „νŠΈλ§ˆλ‹€ ν•˜λŠ” 일이 λ‹€λ₯΄λ‹€. - 전체 Taskλ₯Ό μ œκ³΅ν•˜κΈ° μœ„ν•΄ μƒν˜Έ ν˜‘λ ₯ν•œλ‹€. - 이λ₯Ό μœ„ν•΄ μ—μ΄μ „νŠΈλ“€μ€ κ΅ν™˜, 데이터, λ©”μ‹œμ§€, 이벀트λ₯Ό μœ„ν•œ 단일 λ©”μ»€λ‹ˆμ¦˜μ΄ ν•„μš”ν•˜λ‹€.
  • 9. PAC Pattern – Problem(Force) β–  λ¬Έμ œμ— λ‚΄ν¬λœ 영ν–₯λ ₯(Force) - 02 - μƒν˜Έμž‘μš© μ—μ΄μ „νŠΈλ“€μ€ 각각 자체 μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•œλ‹€. - μŠ€ν”„λ ˆλ“œμ‹œνŠΈμ— 데이터λ₯Ό μž…λ ₯ν•˜λŠ” μž‘μ—…οƒ  ν‚€λ³΄λ“œ μΈν„°νŽ˜μ΄μŠ€ - κ·Έλž˜ν”½ 객체λ₯Ό μ‘°μž‘ν•˜λŠ” μž‘μ—… οƒ  ν¬μΈνŒ… λ””λ°”μ΄μŠ€(μœ„μΉ˜ 지정 도ꡬ)
  • 10. PAC Pattern – Problem(Force) β–  λ¬Έμ œμ— λ‚΄ν¬λœ 영ν–₯λ ₯(Force) - 03 - μ‹œμŠ€ν…œμ—μ„œ ν”„λ ˆμ  ν…Œμ΄μ…˜ 츑면은 특히 변경이 μž¦μ€ νŽΈμ΄λ‹€. - 각 μ—μ΄μ „νŠΈμ˜ λ³€κ²½ 및 μΆ”κ°€κ°€ 이루어지더라도전체 μ‹œμŠ€ν…œμ— 영ν–₯을 λ―Έμ³μ„œλŠ” μ•ˆ λœλ‹€.
  • 11. PAC Pattern – Solution β–  해법(Solution) - PAC μ—μ΄μ „νŠΈλ“€μ€ 트리 ν˜•νƒœ κ³„μΈ΅κ΅¬μ‘°λ‘œκ΅¬μ„±ν•˜μ—¬ μƒν˜Έμž‘μš© μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ΅¬μΆ•ν•œλ‹€. μΆ” 이 μ’… 속 μ„±
  • 12. PAC Pattern – Solution β–  해법(Solution)
  • 13. PAC Pattern – Solution β–  해법(Solution) - μ΅œμƒμœ„ 레벨 PAC μ—μ΄μ „νŠΈ οƒ μ‹œμŠ€ν…œμ˜ 핡심 κΈ°λŠ₯을 μ œκ³΅ν•œλ‹€. - 쀑간 레벨 PAC μ—μ΄μ „νŠΈ οƒ  ν•˜μœ„ 레벨 μ—μ΄μ „νŠΈλ₯Ό μ‘°ν•©ν•˜λŠ” μ—­ν•  οƒ  ν•˜μœ„ 레벨 μ—μ΄μ „νŠΈλ“€ μ‚¬μ΄μ˜ 관계 μ—°κ²° - μ΅œν•˜μœ„ 레벨 PAC μ—μ΄μ „νŠΈ οƒ μ‚¬μš©μžκ°€ λ‹€λ£¨λŠ” 의미적인 κ°œλ…μ„ ν‘œν˜„ν•œλ‹€.
  • 14. PAC Pattern – Solution β–  해법(Solution) - λͺ¨λ“  μ—μ΄μ „νŠΈλŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜ κΈ°λŠ₯의 νŠΉμ • 츑면을 λ‹΄λ‹Ήν•œλ‹€. ν”„λ ˆμ  ν…Œμ΄μ…˜ μ»΄ν¬λ„ŒνŠΈ μ œμ–΄ μ»΄ν¬λ„ŒνŠΈ 좔상 μ»΄ν¬λ„ŒνŠΈ
  • 15. PAC Pattern – Structure β–  μ΅œμƒμœ„ 레벨 PAC μ—μ΄μ „νŠΈ – 01 - 좔상 μ»΄ν¬λ„ŒνŠΈμ—μ„œ ν•˜λŠ” 일 οƒ  μ†Œν”„νŠΈμ›¨μ–΄ μ „μ—­ 데이터 제곡 및 관리 - ν”„λ ˆμ  ν…Œμ΄μ…˜ μ»΄ν¬λ„ŒνŠΈμ—μ„œ ν•˜λŠ” 일 οƒ  맑고 μžˆλŠ” μ±…μž„μ΄ 거의 μ—†λ‹€. - μ œμ–΄ μ»΄ν¬λ„ŒνŠΈμ—μ„œ ν•˜λŠ” 일 οƒ  ν•˜μœ„ 레벨 μ—μ΄μ „νŠΈλ“€μ΄ μ΅œμƒμœ„ 레벨의 μ„œλΉ„μŠ€λ₯Ό μ‚¬μš©ν•  수 μžˆλ„λ‘ ν•΄μ€€λ‹€. οƒ  계측 ꡬ쑰간 μ—°κ²° 정보λ₯Ό κ΄€λ¦¬ν•œλ‹€. οƒ  μ‚¬μš©μžμ™€ μ‹œμŠ€ν…œμ˜ μƒν˜Έμž‘μš© 정보 μ €μž₯
  • 16. PAC Pattern – Structure β–  μ΅œν•˜μœ„ 레벨 PAC μ—μ΄μ „νŠΈ – 02 - ν”„λ ˆμ  ν…Œμ΄μ…˜ μ»΄ν¬λ„ŒνŠΈμ—μ„œ ν•˜λŠ” 일 οƒ  뷰와 ν•¨μˆ˜μ— λŒ€ν•œ μ•‘μ„ΈμŠ€λ₯Ό μ œκ³΅ν•œλ‹€. - 좔상 μ»΄ν¬λ„ŒνŠΈμ—μ„œ ν•˜λŠ” 일 οƒ  λ‹€λ₯Έ PAC와 μ˜μ‘΄μ„±μ΄ μ—†λŠ” 데이터 관리 - μ œμ–΄ μ»΄ν¬λ„ŒνŠΈμ—μ„œ ν•˜λŠ” 일 οƒ  μΈν„°νŽ˜μ΄μŠ€μ™€ 데이터 μ‚¬μ΄μ˜ μ–΄λŒ‘ν„° μ—­ν•  οƒ  μ΄λ²€νŠΈμ™€ 데이터 κ΅ν™˜μ„ μœ„ν•΄ μ΅œμƒμœ„ 레벨 μ—μ΄μ „νŠΈμ™€ ν†΅μ‹ ν•œλ‹€. οƒ  μˆ˜μ‹  데이터λ₯Ό 자체 좔상 μ»΄ν¬λ„ŒνŠΈμ— 전달
  • 17. PAC Pattern – Structure β–  쀑간 레벨 PAC μ—μ΄μ „νŠΈ – 03 - 볡합과 μ‘°μ • 두 가지 λ‹€λ₯Έ 역할을 μˆ˜ν–‰ν•œλ‹€. 독립적인 객체λ₯Ό ν•˜λ‚˜μ˜ 볡합 객체둜 λ¬ΆλŠ”λ‹€. οƒ ν•˜μœ„ μ—μ΄μ „νŠΈλ“€ κ°„μ˜ 일관성을 μœ μ§€ν•œλ‹€. - 좔상 μ»΄ν¬λ„ŒνŠΈ οƒ  데이터 μ €μž₯ - ν”„λ ˆμ  ν…Œμ΄μ…˜ μ»΄ν¬λ„ŒνŠΈ οƒ  자체 μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€ κ΅¬ν˜„ - μ œμ–΄ μ»΄ν¬λ„ŒνŠΈ οƒ  μ΅œμƒμœ„, μ΅œν•˜μœ„ 레벨 PAC와 λ™μΌν•œ μ±…μž„
  • 18. PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€1) - μ‚¬μš©μžκ°€ λ·° 코디넀이터 μ—μ΄μ „νŠΈμ˜ ν”„λ¦¬μ  ν…Œμ΄μ…˜ μ»΄ν¬λ„ŒνŠΈμ— μƒˆ λ§‰λŒ€ 차트λ₯Ό 열도둝 μš”μ²­ν•œλ‹€.
  • 19. PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€1) - λ·° 코디넀이터 μ—μ΄μ „νŠΈμ˜ μ œμ–΄ μ»΄ν¬λ„ŒνŠΈκ°€ λ§‰λŒ€ 차트 μ—μ΄μ „νŠΈλ₯Ό μΈμŠ€ν„΄μŠ€λ‘œ μƒμ„±ν•œλ‹€.
  • 20. PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€1) - λ·° 코디넀이터 μ—μ΄μ „νŠΈλŠ” open 이벀트λ₯Ό μƒˆ λ§‰λŒ€ μ°¨νŠΈμ—μ΄μ „νŠΈμ˜ μ œμ–΄ μ»΄ν¬λ„ŒνŠΈμ— 보낸닀.
  • 21. PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€1) - λ§‰λŒ€ 차트 μ—μ΄μ „νŠΈμ˜ μ œμ–΄ μ»΄ν¬λ„ŒνŠΈλŠ” λ·° μ½”λ””λ„€μ΄ν„°μ—μ΄μ „νŠΈλ₯Ό 톡해 데이터λ₯Ό κ°€μ Έμ˜¨λ‹€.
  • 22. PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€1) - λ§‰λŒ€ 차트 μ—μ΄μ „νŠΈμ— λ°˜ν™˜λœ λ°μ΄ν„°λŠ” 자체 좔상 μ»΄ν¬λ„ŒνŠΈμ— μ €μž₯λœλ‹€.
  • 23. PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€1) - μ œμ–΄ μ»΄ν¬λ„ŒνŠΈλŠ” λ§‰λŒ€ 차트λ₯Ό λ””μŠ€ν”Œλ ˆμ΄ ν•˜κΈ° μœ„ν•΄ ν”„λ ˆμ  ν…Œμ΄μ…˜ μ»΄ν¬λ„ŒνŠΈλ₯Ό ν˜ΈμΆœν•œλ‹€.
  • 24. PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€1) - ν”„λ ˆμ  ν…Œμ΄μ…˜ μ»΄ν¬λ„ŒνŠΈλŠ” 화면에 μƒˆ 창을 μƒμ„±ν•˜κ³ , μ œμ–΄ μ»΄ν¬λ„ŒνŠΈμ— 데이터λ₯Ό μš”μ²­ν•œλ‹€.
  • 25. PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€1) - μ œμ–΄ μ»΄ν¬λ„ŒνŠΈλŠ” 데이터λ₯Ό 좔상 μ»΄ν¬λ„ŒνŠΈλ‘œλΆ€ν„° 가져와 ν”„λ ˆμ  ν…Œμ΄μ…˜ μ»΄ν¬λ„ŒνŠΈμ— 보낸닀.
  • 26. PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€1) - μ΅œμ’…μ μœΌλ‘œ ν”„λ ˆμ  ν…Œμ΄μ…˜ μ»΄ν¬λ„ŒνŠΈλŠ” 받은 데이터λ₯Ό μƒˆ 창에 ν‘œμ‹œν•œλ‹€.
  • 27. PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€2) - μ‚¬μš©μžκ°€ μŠ€ν”„λ ˆλ“œμ‹œνŠΈμ— μƒˆ 데이터λ₯Ό μž…λ ₯ν•œλ‹€. - μ œμ–΄ μ»΄ν¬λ„ŒνŠΈλŠ” 데이터λ₯Ό μ΅œμƒμœ„ 레벨 PAC둜 μ „λ‹¬ν•œλ‹€.
  • 28. PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€2) - μ œμ–΄ μ»΄ν¬λ„ŒνŠΈλŠ” 데이터λ₯Ό 좔상 μ»΄ν¬λ„ŒνŠΈμ— μ•Œλ €μ€€λ‹€. - 좔상 μ»΄ν¬λ„ŒνŠΈλŠ” μ—μ΄μ „νŠΈλ“€μ„ μ—…λ°μ΄νŠΈ ν•˜λ„λ‘ μš”μ²­ν•œλ‹€.
  • 29. PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€2) - μ œμ–΄ μ»΄ν¬λ„ŒνŠΈλŠ” λ·° 코디넀이터 μ—μ΄μ „νŠΈμ— 톡지λ₯Ό 보낸닀.
  • 30. PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€2) - 뷰코디넀이터 μ—μ΄μ „νŠΈμ˜ μ œμ–΄ μ»΄ν¬λ„ŒνŠΈλŠ” μ‘°μ • μ±…μž„μ„ 맑은 λͺ¨λ“  λ·°PACμ—κ²Œ λ³€κ²½ 톡지λ₯Ό μ „λ‹¬ν•œλ‹€.
  • 31. PAC Pattern – Dynamic β–  PAC λ™μž‘ λ¬˜μ‚¬(μ‹œλ‚˜λ¦¬μ˜€2) - 자체 데이터λ₯Ό μ—…λ°μ΄νŠΈν•˜κ³  이미지λ₯Ό κ°±μ‹ ν•œλ‹€.
  • 32. PAC Pattern – Implementation β–  κ΅¬ν˜„(Implementation) - 1단계 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ λͺ¨λΈμ„ μ •μ˜ν•œλ‹€. οƒ  μ‹œμŠ€ν…œμ€ μ–΄λ–€ μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•΄μ•Ό ν•˜λŠ”κ°€? οƒ  μ–΄λ–€ μ»΄ν¬λ„ŒνŠΈκ°€ 이 μ„œλΉ„μŠ€λ“€μ„ μˆ˜ν–‰ν•  수 μžˆλŠ”κ°€? οƒ  μ»΄ν¬λ„ŒνŠΈλ“€ κ°„μ˜ κ΄€κ³„λŠ” μ–΄λ– ν•œκ°€? οƒ  μ»΄ν¬λ„ŒνŠΈλŠ” μ–΄λ–€ 데이터λ₯Ό μ²˜λ¦¬ν•˜λŠ”κ°€? οƒ  μ‚¬μš©μžλŠ” μ–΄λ–»κ²Œ μ†Œν”„νŠΈμ›¨μ–΄μ™€ μƒν˜Έμž‘μš© ν•˜λŠ”κ°€?
  • 33. PAC Pattern – Implementation β–  κ΅¬ν˜„(Implementation) - 2단계PAC 계측을 μ‘°μ§ν™”ν•˜κΈ° μœ„ν•΄ 일반 μ „λž΅μ„ μ •μ˜ν•œλ‹€. οƒ  첫 번째 : μ΅œν•˜μœ„ 곡톡 쑰상 κ·œμΉ™ οƒ  두 번째 : 계측ꡬ쑰(hierarchy)의 심도(depth) - 3단계 μ΅œμƒμœ„ 레벨 PAC μ—μ΄μ „νŠΈλ₯Ό μ •μ˜ν•œλ‹€. οƒ  μ‹œμŠ€ν…œμ˜ 핡심 κΈ°λŠ₯에 ν•΄λ‹Ήν•˜λŠ” 뢄석 λͺ¨λΈμ˜ 뢀뢄듀을 νŒλ³„ν•΄λ‚Έλ‹€.
  • 34. PAC Pattern – Implementation β–  κ΅¬ν˜„(Implementation) - 4단계 μ΅œν•˜μœ„ 레벨 PAC μ—μ΄μ „νŠΈλ₯Ό μ •μ˜ν•œλ‹€. οƒ  μ‹œμŠ€ν…œμ—μ„œ κ°€μž₯ μž‘μ€ 독립적 λ‹¨μœ„μ˜ 뢄석 λͺ¨λΈμ„ μ»΄ν¬λ„ŒνŠΈλ‘œ νŒλ³„ν•΄λ‚Έλ‹€. - 5단계 μ‹œμŠ€ν…œ μ„œλΉ„μŠ€λ“€μ„ μ œκ³΅ν•˜λŠ” μ΅œν•˜μœ„ 레벨 PACμ—μ΄μ „νŠΈλ“€μ„ μ •μ˜ν•œλ‹€. οƒ  μ£Όμš” λͺ©μ κ³Ό 직접 κ΄€λ ¨λ˜μ§€ μ•Šμ€ 뢀가적인 μ„œλΉ„μŠ€λ“€μ„ ν¬ν•¨ν•œλ‹€.
  • 35. PAC Pattern – Implementation β–  κ΅¬ν˜„(Implementation) - 6단계 ν•˜μœ„ 레벨 PAC μ—μ΄μ „νŠΈλ“€μ„ μ‘°ν•©ν•˜κΈ° μœ„ν•œ μ€‘κ°„λ ˆλ²¨ PAC μ—μ΄μ „νŠΈλ“€μ„ μ •μ˜ν•œλ‹€. οƒ  μ‚¬λžŒ-컴퓨터 μƒν˜Έμž‘μš©μ„ μ œκ³΅ν•˜λ©°, ν•˜μœ„ λ ˆλ²¨μ—μ΄μ „νŠΈλ₯Ό μ‘°μž‘ν•˜λŠ” 역할을 ν•˜λŠ” 단계 - 7단계 ν•˜μœ„ 레벨 PAC μ—μ΄μ „νŠΈλ“€μ„ μƒν˜Έμ‘°μ •ν•˜κΈ° μœ„ν•΄ 쀑간 레벨 PAC μ—μ΄μ „νŠΈλ“€μ„ μ •μ˜ν•œλ‹€. οƒ  λ™μΌν•œ 의미적 κ°œλ…μ— λŒ€ν•΄ μ—¬λŸ¬ λ·°λ₯Ό μ œκ³΅ν•œλ‹€.
  • 36. PAC Pattern – Implementation β–  κ΅¬ν˜„(Implementation) - 8단계 μ‚¬λžŒ-컴퓨터 μƒν˜Έμž‘μš©μœΌλ‘œλΆ€ν„° 핡심 κΈ°λŠ₯을 뢄리해낸닀. οƒ  λͺ¨λ“  PAC μ—μ΄μ „νŠΈλ§ˆλ‹€ ν”„λ ˆμ  ν…Œμ΄μ…˜ μ»΄ν¬λ„ŒνŠΈμ™€ 좔상 μ»΄ν¬λ„ŒνŠΈλ₯Ό λ„μž…ν•œλ‹€. - 9단계 μ™ΈλΆ€ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•œλ‹€. οƒ  λ‹€λ₯Έ μ—μ΄μ „νŠΈλ“€κ³Ό ν˜‘λ ₯ν•˜κΈ° μœ„ν•΄ λͺ¨λ“  PAC μ—μ΄μ „νŠΈλ“€μ€ μ΄λ²€νŠΈμ™€ 데이터λ₯Ό 보내고 λ°›λŠ”λ‹€.
  • 37. PAC Pattern – Implementation β–  κ΅¬ν˜„(Implementation) - 10단계 계측ꡬ쑰(hierarchy)λ₯Ό ν•¨κ»˜ μ—°κ²°ν•œλ‹€. οƒ  각각의 PAC μ—μ΄μ „νŠΈλ₯Ό κ΅¬ν˜„ν•΄μ•Ό μ΅œμ’… PAC 계측ꡬ쑰λ₯Ό ꡬ좕할 수 μžˆλ‹€. οƒ  ν˜‘λ ₯ 관계에 μžˆλŠ” ν•˜μœ„ 레벨 PAC μ—μ΄μ „νŠΈλ“€μ„ μ—°κ²°ν•¨μœΌλ‘œμ¨ λͺ¨λ“  PAC μ—μ΄μ „νŠΈλ₯Ό ν•¨κ»˜ μ—°κ²°μ‹œν‚¨λ‹€.
  • 38. PAC Pattern – Variant β–  λ³€ν˜•(Variant) - ν™œμ„± κ°μ²΄λ‘œμ„œμ˜ PAC μ—μ΄μ „νŠΈ οƒ  λ©€ν‹°μŠ€λ ˆλ”©μ˜ 이점을 ν™œμš©ν•˜κΈ° μœ„ν•΄,ν™œμ„± 객체(Active Object)둜 κ΅¬ν˜„λ  수 μžˆλ‹€. ν™œμ„± 객체 : 자체 μ œμ–΄ μŠ€λ ˆλ“œ μ•ˆμ— μ‚΄μ•„μžˆλŠ” 객체 - ν”„λ‘œμ„ΈμŠ€λ‘œμ˜ PAC μ—μ΄μ „νŠΈ οƒ  μ„œλ‘œ λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€λ‚˜ 원격 λ¨Έμ‹  κ°„μ˜ PAC 톡신을 μ§€μ›ν•˜κΈ° μœ„ν•΄ PAC μ—μ΄μ „νŠΈκ°„ IPC(ν”„λ‘œμ„ΈμŠ€κ°„ 톡신)을 κ΅¬ν˜„ν•œλ‹€.
  • 39. PAC Pattern – Consequence β–  κ²°κ³Ό(Consequence) - 역할이 λͺ…ν™•νžˆ λΆ„λ¦¬λœλ‹€. - κ°€λ³€μ„±κ³Ό ν™•μž₯성이 μ§€μ›λœλ‹€. - λ©€ν‹°νƒœμŠ€ν‚Ήμ΄ μ§€μ›λœλ‹€. - μ‹œμŠ€ν…œ λ³΅μž‘μ„±μ΄ μ¦κ°€ν•œλ‹€.
  • 40. PAC Pattern – Consequence β–  κ²°κ³Ό(Consequence) - μ œμ–΄ μ»΄ν¬λ„ŒνŠΈκ°€ λ³΅μž‘ν•΄μ§„λ‹€. - νš¨μœ¨μ„±μ΄ 떨어진닀. - νŒ¨ν„΄ 적용 μžμ²΄κ°€ 무λͺ¨ν•œ 함정일 수 μžˆλ‹€. - μ μš©κ°€λŠ₯성이 떨어진닀.