๋ฐ์ํ
250x250
Notice
Recent Posts
Recent Comments
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- ๋ฆฌ์กํธ
- ์๋ฐ์คํฌ๋ฆฝํธ
- ์๋ง์กด์น์๋น์ค
- ํ ์คํธ๋ง์ด๋
- ๋ฐ์ดํฐ๋ถ์
- erp
- abap
- ์ฝ๋ฉํ ์คํธ
- nlp
- sap
- AI
- ํ๋ธ๋ฃจ
- ๋น ๋ฐ์ดํฐ
- ๋ฅ๋ฌ๋
- react
- ํ๋ธ๋ก
- ์์ฐ์ด์ฒ๋ฆฌ
- DFS
- ํ ์คํธ๋ถ์
- ๋ฐ์ดํฐ ๋ถ์
- github
- ํ์ด์ฌ
- ์๊ณ ๋ฆฌ์ฆ
- AWS
- tableau
- Git
- ๋ฐฑ์ค
- ์ฝํ
- ๊นํ๋ธ
- ์ธ๊ณต์ง๋ฅ
Archives
- Today
- Total
DATA101
DAO, DTO, VO ๊ฐ๋ ์ ๋ฆฌ ๋ณธ๋ฌธ
728x90
๋ฐ์ํ
๐ฅ ๋ชฉํ
DAO, DTO, VO์ ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋ ๊ณผ ํน์ง์ ์ดํดํ๋ค.
1. Data Access Object(DAO)
- Database์ Access ํ๋ Transaction Object
- Domain Logic์์ Persistence Mechanism ๋ ธ์ถ ์์ด ๋ฐ์ดํฐ ์กฐํ, ์ฝ์ , ์ญ์ , ์ ๋ฐ์ดํธ(i.e., CRUD) ๊ธฐ๋ฅ ์ํ
- Domain Logic๊ณผ ๋น์ฆ๋์ค ๋ก์ง ๋ถ๋ฆฌ๋ฅผ ์ํด ์ฌ์ฉ
2. Data Transfer Object(DTO)
2.1. ๊ฐ๋ ๋ฐ ํน์ง
- ๊ณ์ธต ๊ฐ ๋ฐ์ดํฐ ๊ตํ์ด ์ฃผ๋ ๋ชฉ์ ์ธ ๊ฐ์ฒด๋ก, ํน๋ณํ Logic์ ๋ฐ๋ก ๊ฐ์ง ์์
- ํด๋ผ์ด์ธํธ ์ธก๊ณผ ์ง์ ๋ง์ฃผํ๋ ๊ณ์ธต(e.g., Controller, View, Business Layer, Persistence Layer)์ Entity๋ฅผ ์ง์ ์ ๋ฌํ์ง ์๊ณ DTO๋ฅผ ํ์ฉํด ๋ฐ์ดํฐ ๊ตํ ์ง์
- DTO๊ฐ DB ๋ฐ์ดํฐ๋ฅผ ์์๋ก ์กฐ์ํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ DTO ๋ด Setter๋ฅผ ๋ง๋ค ํ์๊ฐ ์์ผ๋ฉฐ ์์ฑ์์์ ๊ฐ์ ํ ๋นํจ
2.2. Entity์ DTO ๊ฐ ๋ถ๋ฆฌ ์ด์
- Entity๋ ๊ฐ์ด ๋ณ๊ฒฝ๋๋ฉด ๋ค๋ฅธ ๋ก์ง์๋ ์ํฅ์ ๋ฏธ์นจ
- DTO ํด๋์ค๋ View Layer์ ๋ฐ์ดํฐ ๊ตํ์ด ๋น๋ฒํ๊ธฐ ๋๋ฌธ์ DTO์ Entity๋ฅผ ๋ถ๋ฆฌํจ์ผ๋ก์จ View Layer์ DB Layer ๋ถ๋ฆฌ ๊ฐ๋ฅ
- View์์ ์์ฒญํ๋ ์ ๋ณด์ Table์ Mapping ๋๋ ์ ๋ณด๊ฐ ๋ค๋ฅผ ๊ฒฝ์ฐ, ํ์ํ ์ ๋ณด์ ๋ง๊ฒ ๋ก์ง์ด ์ถ๊ฐ๋ก ํ์ํ๊ฒ ๋์ด ๋ฒ๊ฑฐ๋ก์
- DB๋ก๋ถํฐ ์กฐํํ Entity๋ฅผ View๋ก ์ ๋ฌํ ๊ฒฝ์ฐ ๋ถํ์ํ๊ฑฐ๋ ๊ธฐ๋ฐ ์ ๋ณด๊น์ง ๋ ธ์ถ๋ ์ ์๊ธฐ ๋๋ฌธ์ ๋ก์ง์ ๋ฐ๋ก ๊ตฌํํ๋ ๊ฒ์ด ์ข์
3. Value Object(VO)
- Value Object(VO)๋ DTO์ ๊ฐ์ ๊ฐ๋
์ด์ง๋ง, DTO๋ ๊ณ์ธต ๊ฐ ๋ฐ์ดํฐ ๊ตํ์ด ์ค์ , VO๋ ์ฝ๊ธฐ ์ ์ฉ(Read Only)์ผ๋ก ๋ฐ์ดํฐ ์์ฒด๊ฐ ์ค์ ์ด๋ผ๋ ์ฐจ์ด ์กด์ฌ
ํฌ์คํ
๋ด์ฉ์ ์ค๋ฅ๊ฐ ์๋ค๋ฉด ์๋์ ๋๊ธ ๋จ๊ฒจ์ฃผ์ธ์!
๊ณ ๋ง์ต๋๋ค :)
728x90
๋ฐ์ํ