Fundamental Design Patterns ¶
DesignPatterns μ ν¨ν΄λ€μ λΉν΄ ꡬνμ΄ κ°λ¨νλ©΄μλ νμμ μΈ ν¨ν΄. μ 체μ μΌλ‘ κ°μ₯ κΈ°λ³Έμ΄ λλ μν ν¨ν΄λ€. λ€λ₯Έ ν¨ν΄λ€κ³Ό κ°μ΄ μ΄μ©λλ€. Refactoring μ νλ©΄μ μ΄λμ λ μ λλλ κ²λ€λ μκ² λ€. (Delegationμ κ²½μ°λ μ¬λλ€μ΄ μ μλͺ
μΉμ λͺ¨λ₯΄λλΌλ μ΄λ―Έ μ°κ³ μμ κ²μ΄λ€. Java μμμ InterfacePattern λ λ§μ°¬κ°μ§.)
κΈ°λ³Έμ μΈ κ²μΌλ‘λ Delegation, DoubleDispatch κ° μμΌλ©° (SmalltalkBestPracticePatternμμ μΈκΈλμλ κ² κ°μλ°.. μΆν μ‘°μ¬), 'Patterns In Java' λΌλ μ±
μμλ Delegation κ³Ό Interface, Immutable, MarkerInterface, Proxy λ₯Ό λ λ€. (Proxy λ DesignPatterns μ μκΈ°λ νλ€.)
- DelegationPattern
- DoubleDispatch
- InterfacePattern
- ImmutablePattern
- MarkerInterface
- Proxy
κ·Όλ°, μ§κΈ 보면 μ 건 Patterns in Java μ κ΄μ μΈ κ² κ°κ³ .. κ·Έλ κ² 'νμμ ν¨ν΄' μ΄λ λλμ΄ μλ λ€. (Proxy ν¨ν΄μ΄ κ³Όμ° νμκ°λ
μΌκΉ. RPC ꡬν μ리λ₯Ό μ΄ν΄νλ€λμ§ λ±λ±μ΄λΌλ©΄ λͺ°λΌλ.) Patterns in Java μ μλ건 λΉΌλ²λ¦¬λ κ²μ΄ μ’μ κ² κ°λ€λ μκ°. (DoubleDispatch λ μ μμ΄μ©ν΄μ λͺ¨λ₯΄κ² κ³ μΈμ΄ λ
립μ μΌλ‘ μκ°ν΄λ³Όλλ μΌλ¨μ Delegation μ λλ§?) --1002