๐ ์ค๋์ ํ์ต ํค์๋
- DAO, DTO, VO
๐ฅ DAO, DTO, VO
- DAO : Database์ ์ ๊ทผํ๋ ์ญํ ์ ํ๋ ๊ฐ์ฒด
- DTO : ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๊ธฐ ์ํ ๊ฐ์ฒด
- VO : ๊ฐ ์์ฒด๋ฅผ ํํํ๋ ๊ฐ์ฒด
๐ฅ DAO (Data Access Object)
DB์ data์ ์ ๊ทผํ๊ธฐ ์ํ ๊ฐ์ฒด์ด๋ค. DB์ ์ ๊ทผํ๊ธฐ ์ํ ๋ก์ง์ ๋ถ๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉํ๋ค.
์ง์ DB์ ์ ๊ทผํ์ฌ data๋ฅผ ์ฝ์ , ์ญ์ , ์กฐํ ๋ฑ ์กฐ์ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ํํ๋ค.
MVC ํจํด์ Model์์ ์ด์ ๊ฐ์ ์ผ์ ์ํํจ.
๐ฅ DTO (Data Transfer Object)
DTO๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๊ธฐ ์ํ ๊ฐ์ฒด์ด๋ค. DTO๋ ๋ก์ง์ ๊ฐ์ง์ง ์๋ ์์ํ ๋ฐ์ดํฐ ๊ฐ์ฒด๋ก Getter์ Setter๋ง ๊ฐ์ง ํด๋์ค์ด๋ค.
์ฌ๋ฌ ๋ ์ด์ด ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋ ์ฌ์ฉํ๋ฉฐ, ์ฃผ๋ก View์ Controller ์ฌ์ด์์ ํ์ฉํ๋ค.
DTO๋ ๋ฐ์ดํฐ ์ ๋ฌ ๋ง์ ์ํ ๊ฐ์ฒด๋ผ๋ ๊ฒ ํต์ฌ ์ ์์ด๋ฉฐ, ๋ฐ์ดํฐ ์ ๋ฌ ์ฉ๋๋ก๋ง ์ฌ์ฉํ๋ ๊ฒ ๋ชฉ์ ์ด๋ฉด.
Getter/Setter๋ง ํ์ํ๊ณ ๋ค๋ฅธ ๋ก์ง์ ํ์ ์๋ค.
๐ฅ VO (Value Object)
VO๋ ๊ฐ ์์ฒด๋ฅผ ํํํ๋ ๊ฐ์ฒด์ด๋ค. DTO์ ์ ์ฌํ์ง๋ง, DTO๋ Setter๋ฅผ ๊ฐ์ง๊ณ ์์ด ๊ฐ์ด ๋ณํ ์ ์๋ค.
VO๋ Getter๋ฅผ ํฌํจํด์, ์ด์ธ์ ๋น์ฆ๋์ค ๋ก์ง์ ํฌํจํ ์ ์์ต๋๋ค.
Setter๋ฅผ ๊ฐ์ง์ง ์์์ ์ฝ๊ธฐ๋ง ๊ฐ๋ฅํ๋ค. (Read-Only)
๐ ์ค๋์ ํ๊ณ
๊ฐ๋ ์ ์ธ ๋ถ๋ถ๋ ๊ผผ๊ผผํ๊ฒ ๋ณด๋ฉฐ ์ฑ์ฅํ๊ฒ ์ต๋๋ค.