๋์์ธ ํจํด ์ค ํ๋์ธ MVCํจํด์ Model, View, Controller
์ ์ค์๋ง๋ก ์ดํ๋ฆฌ์ผ์ด์
์ ๊ตฌ์ฑํ ๋ ๊ทธ ๊ตฌ์ฑ์์๋ฅผ ์ธ๊ฐ์ง์ ์ญํ ๋ก ๊ตฌ๋ถํ ํจํด์ ์๋ฏธ
๊ฒฐ๋ก ๋ถํฐ ๋งํ์๋ฉด
MVC ํจํด์ ๋ํด ํ๋์ ์ ๋ต์ ์ฐพ์ผ๋ ค๊ธฐ๋ณด๋ค, ๊ทธ ์์ฒด๋ฅผ ์ดํดํ๋ ๊ฒ์ด ์ค์ํ๋ค.
ex) ๊ฒ์์ ์ํ ํค์๋๊ฐ ๋์ด์ค๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ด๋ จ๋ ์ํ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ๋ทฐ์ ์ ๋ฌ
model
๋๋domain
ํจํค์ง์ ์์น
ex) ๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ๋ชจ๋ธ์์ ๊ฒฐ๊ณผ ์ํ ๋ฆฌ์คํธ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋๋ค.
view
๋๋templates
ํจํค์ง์ ์์น
ex) ์ผํ๋ชฐ์์ ์ํ์ ๊ฒ์ํ๋ฉด ๊ทธ ํค์๋๋ฅผ ์ปจํธ๋กค๋ฌ๊ฐ ๋ฐ์ ๋ชจ๋ธ๊ณผ ๋ทฐ์ ์ ์ ํ๊ฒ ์ ๋ ฅ์ ์ฒ๋ฆฌํ์ฌ ์ ๋ฌํ๋ค.
controller
ํจํค์ง์ ์์น
dto
ํจํค์ง์ ์์น
repository
๋๋dao
ํจํค์ง์ ์์น
์ ๋ต์ ์๋ค.
๋ ๊ฐ๋
์ ๋น์ทํ ์ญํ ์ ํ ์ ์๊ณ , ํนํ ๋ฐ์ดํฐ ์ ์ก์ ์ฌ์ฉ๋๋ ๋ชจ๋ธ ํด๋์ค๊ฐ DTO๋ก ์ฌ์ฉ๋ ์ ์๋ค. ํ์ง๋ง DTO๋ ์ฃผ๋ก ๋ฐ์ดํฐ์ ์ ์ก ๋ฐ ๊ตํ์ ์ํ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋๋ฉฐ, ๋ฐ์ดํฐ ์ ์ก๊ณผ ๊ด๋ จ๋ ์ญํ ์ ์ค์ ์ผ๋ก ํ๋ค. ๋ชจ๋ธ์ ๋ ๋์ ์๋ฏธ์์ ์ ํ๋ฆฌ์ผ์ด์
์ ํต์ฌ ๋ฐ์ดํฐ์ ๋น์ฆ๋์ค ๋ก์ง์ ๋ํ๋ด๋ ์ญํ ์ ํ๋ค.
public class User {
private Long id;
private String username;
private String email;
// ์์ฑ์, getter, setter ์๋ต
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", email='" + email + '\'' +
'}';
}
}
public class UserDTO {
private String username;
private String email;
// ์์ฑ์, getter, setter ์๋ต
@Override
public String toString() {
return "UserDTO{" +
"username='" + username + '\'' +
", email='" + email + '\'' +
'}';
}
}
์์ ์ฝ๋๋ UserDTO(Data Transfer Object)๋ฅผ ๋ํ๋ด๋ ์์์ ๋๋ค. UserDTO ํด๋์ค๋ ์ฌ์ฉ์์ ์ฌ์ฉ์๋ช (username)๊ณผ ์ด๋ฉ์ผ(email)์ ์ ์ฅํ๋ ๋ ๊ฐ์ง ํ๋์ ํด๋น ํ๋์ ์ ๊ทผํ๋ getter์ setter ๋ฉ์๋๋ฅผ ํฌํจํ๊ณ ์์ต๋๋ค. UserDTO๋ ์ฃผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ฑฐ๋ ๋ฐ์ดํฐ๋ฅผ ๋ทฐ๋ก ์ ๋ฌํ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
User ๋ชจ๋ธ์ ์ฃผ๋ก ๋ฐ์ดํฐ์ ๊ตฌ์กฐ์ ๋น์ฆ๋์ค ๋๋ฉ์ธ์ ๋ํ๋ด๋ฉฐ, ๋น์ฆ๋์ค ๋ก์ง์ ํฌํจํ ์ ์์ต๋๋ค. UserDTO๋ ์ฃผ๋ก ๋ฐ์ดํฐ ์ ์ก ๋ฐ ๋ฐ์ดํฐ ์ ๋ฌ์ ์ํ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ฌํ ์์ ์ฝ๋๋ฅผ ํตํด Model๊ณผ DTO์ ์ฐจ์ด๋ฅผ ์ดํดํ์ค ์ ์์ ๊ฒ์ ๋๋ค.
๊ฒฐ๋ก
์ด๋ค ์ฉ์ด๋ฅผ ์ฌ์ฉํ๋๋์ ๋ฐ๋ผ ์ปจํ ์คํธ์ ๊ดํ์ ๋ฐ๋ผ ๋ค๋ฅผ ์ ์์ง๋ง, ์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋ธ์ ๋ ๋์ ์๋ฏธ๋ก ์ฌ์ฉ๋๋ฉฐ, DTO๋ ๋ฐ์ดํฐ ์ ์ก๊ณผ ๊ด๋ จ๋ ์ญํ ์ ๊ฐ์กฐํ๋ ์ฉ์ด์ ๋๋ค.
DTO์ DO ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ํ๋ด๋ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํจ๋ค. ํ์ง๋ง...
๊ฒฐ๋ก
ํ๋ก์ ํธ ๋ฐ ํ์ ๋ฌธ๋งฅ์ ๋ฐ๋ผ ์ ํํ ์๋ฏธ๊ฐ ๋ฌ๋ผ์ง ์ ์์ผ๋ฏ๋ก, ๊ดํ ๋ฐ ๋ฌธ์์์ ๋ช ํํ ์ ์๋ฅผ ํ์ธํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
์ฐธ๊ณ ์๋ฃ