Object ๋ ๋จ์ํ logic ๊ณผ data ๋ฌถ์ ์ด์์ด๋ค. Object ๋ service-provider ์ด๋ฉฐ, information holder ์ด๋ฉฐ, structurer ์ด๋ฉฐ, coordinator ์ด๋ฉฐ, controller ์ด๋ฉฐ, ๋ฐ๊นฅ ์ธ์์ ์ํ interfacer ์ด๋ค. ๊ฐ๊ฐ์ Object ๋ค์ ์์ ์ด ๋งก์ ๋ถ๋ถ์ ๋ํด ์๋ฉฐ, ์ญํ ์ ํด ๋ด์ผ ํ๋ค. ์ด๋ฌํ ResponsibilityDrivenDesign ์ ๋์์ธ์ ๋ํ ์ ์ฐํ ์ ๊ทผ์ ๊ฐ๋ฅํ๊ฒ ํ๋ค. ๋ค๋ฅธ ๋์์ธ ๋ฐฉ๋ฒ์ ๊ฒฝ์ฐ ๋ก์ง๊ณผ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ฐ ๋ฐ๋ก ์ด์ ์ ๋ง์ถ๊ฒ๋ ํ์๋ค. ์ด๋ฌํ ์ ๊ทผ์ ์์นซ ๋๋ฌด๋ง ๋ณด๊ณ ์ฒ์ ๋ณด์ง ๋ชปํ๋ ์ค์๋ฅผ ์ ์ง๋ฅด๊ฒ ํ๋ค. RDD๋ ๋์์ธ๊ณผ ๊ตฌํ, ๊ทธ๋ฆฌ๊ณ ์ฑ
์๋ค์ ๋ํ ์ฌ๋์์ธ์ ๋ํ ์ค์ฒ์ ์กฐ์ธ์ ์ ๊ณตํ๋ค.
RDD๋ ๊ฐ์ฒด ๋์์ธ์ ๋ํด ๋ช
ํํ๊ฒ ์ฌ๊ณ ํ ์ ์๋๋ก ๋์์ฃผ๊ณ ๊ฐ์ฒด ์งํฅ ๊ธฐ์ ์ ์ฅ์ ์ ์ต๋ํ ์ด์ฉํ๋๋ฐ ๋์์ ์ค๋ค.
- object ์ ๋ํด์ ๊ธฐ์กด์ 'data + algorithms' ์ ์ฌ๊ณ ๋ก๋ถํฐ 'roles + responsibilities' ๋ก์ ์ฌ๊ณ ์ ์ ํ.
์ฅ์ ¶
- RDD merges communication paths between classes, thus reducing the coupling between classes.
- Partitions and layers subsystems.
- Generates DesignPatterns. ChainofResponsibilityPattern, MediatorPattern, CommandPattern and TemplateMethodPattern are all generated by the method.
๊ด๋ จ ์๋ฃ ¶
- SeparationOfConcerns - ๋
ผ๋ฌธ์ ๊ด๋ จ ๋ด์ฉ์ด ์ธ๊ธ๋ ๋ฐ ์์.
- ResponsibilityDrivenDesign
- Wirfs-Brock's DesigningObjectOrientedSoftware (์ค์๋์๊ด์ ์์)
- http://www.wirfs-brock.com/pages/home.html