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