โด๏ธ ๋ชจ๋ ์ก์ ์ 4๋จ๊ณ๋ก ์ ๋ฆฌํ ์ ์์
: ์น ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ก์ ์ ์ฒ๋ฆฌํ๋ ๋ก์ง์ ์๋ 4๋จ๊ณ๋ก ๋๋ ์ ์์
• DAO, DTO ์์ฑ → USEBEAN
• DTO ์ธํ → SET PROPERTY
• CRUD → selectOne
• ์๋ต ์ค๋น → ์ด๋๋ก ์ด๋ป๊ฒ ๋ณด๋ผ์ง
⇒ ์ ๋จ๊ณ๋ ๋ ๋ฆฝ์ ์ด๋ฉฐ, ์ ์ ํ ์ค๊ณ๋ฅผ ํตํด ์ ์ง๋ณด์์ฑ์ ๋์ผ ์ ์์
โด๏ธ DAO์ DTO์ ๋ฉค๋ฒ ๋ณ์ ์ฒ๋ฆฌ
• DAO๋ฅผ ๋ฉค๋ฒ ๋ณ์๋ก ๋๋ ๊ฒ์ ์ข์ ๋ฐฉ์
• DTO๋ฅผ ๋ฉค๋ฒ ๋ณ์๋ก ๋๋ ๊ฒ์ ์ ์คํด์ผ ํจ
: DTO๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์ญํ ์ด๋ฉฐ, ๋ฉค๋ฒ ๋ณ์๋ก ๋๋ฉด ์ด์ ์์ฒญ์ ์ ๋ณด๊ฐ ๋จ์ ์์ ๊ฐ๋ฅ์ฑ์ด ์์
: ๋ฉค๋ฒ ๋ณ์๋ก ๋๋ค๋ฉด ์ฌ์ฌ์ฉ์ ๊ณ ๋ คํด์ผํจ
โด๏ธ ๋ฉ๋ชจ๋ฆฌ ์ต์ ํ ๊ฐ๋
• ๊ฐ์ฒด๋ฅผ NEW ํ๋ ๊ฒ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์ฆ๊ฐ์ํด
• ์ต์ ํ ์์น
: ๋ฉค๋ฒ๋ณ์ = new XX → ๊ฐ์ฒด๋ฅผ ์์ฃผ ์์ฑํ๋ ๊ตฌ์กฐ๋ ํผํด์ผ ํจ
: ๊ธฐ๋ณธ ์์ฑ์๋ฅผ ํ์ฉํ์ฌ ํจ์จ์ ์ผ๋ก ๊ฐ์ฒด ๊ด๋ฆฌ
: Spring๊ณผ ๊ฐ์ ํ๋ ์์ํฌ๋ ๊ฐ์ฒด ๊ด๋ฆฌ๋ฅผ ์๋ํ
⇒ ๋ถํ์ํ ๊ฐ์ฒด ์์ฑ์ ์ค์ด๊ณ , ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ๊ตฌ์กฐ๋ฅผ ์ ์งํ๋ ๊ฒ์ด ํต์ฌ
โด๏ธ Factory Pattern์ ํ์ฉํ ์ก์ ๊ด๋ฆฌ
• ๊ธฐ๋ณธ ๊ฐ๋
1. ํฉํ ๋ฆฌ ๊ฐ์ฒด๋ ์๋ฒ๋น ํ๋ฒ๋ง NEW
2. ์ด๊ธฐ ์์ฑ ์ ๋ชจ๋ Action ๊ฐ์ฒด๋ฅผ NEW
3. ์ดํ์๋ ์ฌ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ด ๊ทน๋ํ๋จ
Action action = ActionFactory.getAction(actionName);
• Key-Value ๋งค์นญ์ ํตํด ์ ์ ํ ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ ์ญํ ์ ํจ
: Key = int, String, boolean // Value = ๊ฐ์ฒด
ActionFactory factory = new ActionFactory();
• ํฉํ ๋ฆฌ๋ฅผ ์ธ์คํด์คํํ๋ ๋ฐฉ์์ ์ ์ง๋๋ฉฐ, ๊ฐ์ฒด ์ฌ์ฌ์ฉ์ ํตํด ์ฑ๋ฅ์ ์ต์ ํํ ์ ์์
<jsp:useBean id="factory" class="controller.common.ActionFactory" scope="application"/>
• NEW๋ฅผ ํ๋ฒ๋ง ์ํ, ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ด ๋ฐ์ด๋จ
โด๏ธ ShoppingMall Project Feedback
• ํ์ด์ง ์ด๋์ด ์ฌ๋ฌ ๊ฐ๋ผ๋ฉด, ๊ฐ๋ณ์ ์ธ Action ํด๋์ค๋ฅผ ์์ฑํ๋ ๊ฒ์ด ์ข์
• ํ๋์ ์ก์ ์์ ๋ชจ๋ ์ด๋์ ์ฒ๋ฆฌํ๋ ๊ฒ๋ณด๋ค ์ ์ง๋ณด์๊ฐ ์ฉ์ด
'๐ป JAVA_' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Listener, Filter] Spring์์ ํ์์ ์ผ๋ก ์์์ผ ํ ์๋ธ๋ฆฟ, ๋ฆฌ์ค๋, ํํฐ์ ์ญํ ๊ณผ ์ฐจ์ด์ (0) | 2025.03.19 |
---|---|
์น ์ฅ๋ฐ๊ตฌ๋ ์ค๊ณ : ArrayList์ Map์ ์ฐจ์ด์ ๋ถ์ (0) | 2025.03.10 |
JAVA#25 _ Servlet (0) | 2025.02.23 |
JAVA#24 _ ํค์๋์ ํ์ํํด (0) | 2025.02.18 |
JAVA_ 02.17 ์ํ ์ค๋ต๋ ธํธ (0) | 2025.02.17 |