E D R , A S I H C RSS

GRASP


이 λ‚΄μš©μ€ Applying UML and Patterns CHAPTER 22 GRASPμ—μ„œ μ–»μ–΄μ˜¨ κ²ƒμž…λ‹ˆλ‹€

1. Information Expert

2. Creator

3. High Cohesion

4. Low Coupling

5. Controller

6. Polymorphism

νƒ€μž…μ— 따라 λŒ€μ•ˆμ΄λ‚˜ ν–‰μœ„κ°€ λ³€ν•  λ•Œ, ν•΄λ‹Ή νƒ€μž…λ“€μ— ν–‰μœ„μ˜ μ±…μž„μ„ ν• λ‹Ήν•˜λΌ

Pluggable Software Component
μΌκ΄€λœ interfaceλΌ μ‚¬μš©

6.1. Related Patterns

Protected Variations
Adapter, Command, Composite, Proxy, State, Strategy

7. Indirection

8. Pure Fabrication

문제 도메인 κ°œλ…μ„ ν‘œν˜„ν•˜μ§€ μ•ŠλŠ” μΈμœ„μ μΈ, νŽΈμ˜μƒ λ§Œλ“  ν΄λž˜μŠ€μ— 맀우 μ‘μ§‘λœ μ±…μž„λ“€μ„ ν• λ‹Ήν•œλ‹€.
Pure Fabrication ν΄λž˜μŠ€λΌ μ‹λ³„ν•˜λŠ” 것은 μ€‘λŒ€ν•œ 일이 μ•„λ‹ˆλ‹€. μ΄λŠ” μ–΄λ–€ μ†Œν”„νŠΈμ›¨μ–΄ ν΄λž˜μŠ€λŠ” 도메인을 ν‘œν˜„ν•˜κΈ° μœ„ν•œ 것이고 μ–΄λ–€ μ†Œν”„νŠΈμ›¨μ–΄ ν΄λž˜μŠ€λŠ” λ‹¨μˆœνžˆ 객체 μ„κ³„μžκ°€ νŽΈμ˜λΌ μœ„ν•΄ λ§Œλ“  κ²ƒμ΄λΌλŠ” 일반적인 점을 μ•Œλ¦¬κΈ° μœ„ν•œ ꡐ윑적인 κ°œλ…μ΄λ‹€. νŽΈμ˜λΌ μœ„ν•œ ν΄λž˜μŠ€λ“€μ€ λŒ€κ°œ μ–΄λ–€ κ³΅ν†΅μ˜ ν–‰μœ„λ“€μ„ ν•¨κ»˜ 그룹짓기 μœ„ν•΄ μ„κ³„λ˜λ©°, μ΄λŠ” ν‘œν˜„μ  λΆ„ν•΄λ³΄λ‹€λŠ” ν–‰μœ„μ  뢄해에 μ˜ν•΄ μƒμ„±λœλ‹€.

  • ν‘œν˜„μ  λΆ„ν•΄(Representational Decomposition) : 도메인 μƒμ˜ μ–΄λ–€ 것에 μ—°κ΄€λ˜μ–΄ μžˆκ±°λ‚˜ 그것을 ν‘œν˜„
  • ν–‰μœ„μ  λΆ„ν•΄(Behavioral Decomposition) : ν–‰μœ„λΌ κ·Έλ£Ήν™”ν•˜κ±°λ‚˜ μ•Œκ³ λ¦¬μ¦˜μ— 따라 μ±…μž„μ„ ν• λ‹Ή, λͺ‡λͺ‡ κ΄€λ ¨λœ ν–‰μœ„λ‚˜ 방법듀을 κ·Έλ£Ήν™”ν•˜λ„λ‘ κ°œλ°œμžκ°€ νŽΈμ˜μƒ λ§Œλ“€μ–΄ λ‚Έ 클래슀, ν–‰μœ„μ  뢄해에 μ˜ν•œ 것

8.1. Related Patterns

Adapter, Command, Strategy

9. Protected Variations

λ³€ν™” κ°€λŠ₯성이 μžˆλŠ” 뢀뢄에 μΈν„°νŽ˜μ΄μŠ€λΌ ν˜•μ„±ν•˜λ„λ‘ μ±…μž„μ„ ν• λ‹Ήν•˜λΌ.
이 νŒ¨ν„΄μ€ 맀우 기초적인 μ„계 μ›λ¦¬μ΄μ§€λ§Œ Cockburn에 μ˜ν•΄ 처음 λ°œν‘œλ˜μ—ˆλ‹€.
PV와 κ΄€λ ¨λœ λ‹€μ–‘ν•œ 기법듀이 μžˆλŠ”λ° 그쀑 ν•˜λ‚˜κ°€ LawOfDemeterλΌλŠ”κ΅°μš”. :)
κ·Έ 외에 DavidParnas의 On the Criteria To Be Used in Decomposing Systems Into Modulesμ—μ„œ InformationHiding κ°œλ…μ„ μ†Œκ°œν–ˆκ³  DataEncapsulationκ³Ό ν˜Όλ™ν•˜λŠ” κ²½μš°κ°€ λ§Žμ•˜λ‹€κ³  말해주λ„μš”. OCP에 λŒ€ν•΄μ„œλ„ 이야기해 μ£Όκ³  ...




Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:17
Processing time 0.0269 sec