DAY 24
๐ย ์ค๋ ์ฝ์ ๋ฒ์ : 11. ์์คํ
(205~214p)
๐คย ์ฑ
์์ ๊ธฐ์ตํ๊ณ ์ถ์ ๋ด์ฉ
์์ ์๋ฐ AOP ํ๋ ์์ํฌ
- ์์ ์๋ฐ ๊ด์ ๊ตฌํํ๋ ์คํ๋ง AOP, JBoss AOP ๊ฐ์ ํ๋ ์์ํฌ๋ ๋ด๋ถ์ ์ผ๋ก ํ๋ก์ ์ฌ์ฉ
- ์คํ๋ง์ ๋น์ฆ๋์ค ๋
ผ๋ฆฌ๋ฅผ POJO๋ก ๊ตฌํ
- ๋๋ฉ์ธ์ ์ด์ ์ ๋ง์ถค
- ์ํฐํ๋ผ์ด์ฆ ํ๋ ์์ํฌ์ ์์กดํ์ง ์์
- ํ
์คํธ๊ฐ ์ฝ๊ณ ๊ฐ๋จ
- ๋ฏธ๋ ์คํ ๋ฆฌ์ ๋ง์ถฐ ์ฝ๋๋ฅผ ๋ณด์ํ๊ณ ๊ฐ์ ํ๊ธฐ ํธํจ
- ๊ฐ Bean์ ๋งํธ๋ฃ์ฌ์นด ์ฒ๋ผ ์ค์ฒฉ์ผ๋ก ๊ฐ์ผ๋ค
- Bank โ DAO(์ ๊ทผ์๊ฐ์ฒด) โ JDBC ๋๋ผ์ด๋ฒ
- ํด๋ผ์ด์ธํธ๋ Bank ๊ฐ์ฒด ๋ด getAccount()๋ฅผ ํธ์ถํ๋ค๊ณ ๋ฏฟ์ง๋ง ์ค์ ๋ก๋ DECORATOR ๊ฐ์ฒด ์งํฉ์ ๊ฐ์ฅ ์ธ๊ณฝ๊ณผ ํต์
- XML์ด ์ฅํฉํ๊ณ ์ฝ๊ธฐ ์ด๋ ต์ง๋ง ๋ช
์๋ โ์ ์ฑ
โ ์ด ํ๋ก์๋ ๊ด์ ๋
ผ๋ฆฌ๋ณด๋ค ๋จ์
AspectJ ๊ด์
- ๊ด์ฌ์ฌ๋ฅผ ๊ด์ ์ผ๋ก ๋ถ๋ฆฌํ๋ ๊ฐ์ฅ ๊ฐ๋ ฅํ ๋๊ตฌ
- ์ธ์ด ์ฐจ์์์ ๊ด์ ์ ๋ชจ๋ํ ๊ตฌ์ฑ์ผ๋ก ์ง์
- ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๊ณ ๋ฌธ๋ฒ๊ณ ์ฌ์ฉ๋ฒ์ ์ตํ์ผ ํ๋ ๋จ์ ์ ์์
- AspectJ annotation form ์ ์์ ์๋ฐ ์ฝ๋์ ์๋ฐ 5 annotation์ ์ฌ์ฉํด ๊ด์ ์ ์ ์
ํ
์คํธ ์ฃผ๋ ์์คํ
์ํคํ
์ฒ ๊ตฌ์ถ
- APP ๋๋ฉ์ธ ๋
ผ๋ฆฌ๋ฅผ POJO๋ก ์์ฑ โ ์ฝ๋ ์์ค์์ ์ํคํ
์ฒ ๊ด์ฌ์ฌ ๋ถ๋ฆฌ โ ํ
์คํธ ์ฃผ๋ ์ํคํ
์ฒ ๊ตฌ์ถ ๊ฐ๋ฅ
- ๊ฑด์ถ๊ฐ๋ BigDesignUpFront ๋ฅผ ์ถ๊ตฌํ์ง๋ง ์ํํธ์จ์ด๋ ๋จ์ํ๊ณ ๋ฉ์ง๊ฒ ๋ถ๋ฆฌ๋ ์ํคํ
์ฒ๋ก ํ๋ก์ ํธ๋ฅผ ์งํํด ๊ฒฐ๊ณผ๋ฌผ์ ์ฌ๋นจ๋ฆฌ ์ถ์ํ ํ, ๊ธฐ๋ฐ์ ํ์ฅํด ๋๊ฐ๋ ๊ด์ฐฎ๋ค
์์ฌ ๊ฒฐ์ ์ ์ต์ ํํ๋ผ
- ๊ฐ ๋ถ๋ฆฌ๋ ๊ด์ฌ์ฌ์ ๋ชจ๋์ ๋ํด ๊ฐ์ฅ ์ ํฉํ ์ฌ๋์๊ฒ ์ฑ
์์ ๋งก๊ธฐ๋ผ
- ๊ฐ๋ฅํ ๋ง์ง๋ง๊น์ง ๊ฒฐ์ ์ ๋ฏธ๋ค์ ์ ๋ณด๋ฅผ ๋ชจ์ ์ต์ ์ ๊ฒฐ์ ์ ๋ด๋ ค๋ผ
๋ช
๋ฐฑํ ๊ฐ์น๊ฐ ์์ ๋ ํ์ค์ ํ๋ช
ํ๊ฒ ์ฌ์ฉํ๋ผ
- ๋๋ก๋ ํ์ค์ ๋ง๋๋ ์๊ฐ์ด ๋๋ฌด ์ค๋ ๊ฑธ๋ ค ์
๊ณ๊ฐ ๊ธฐ๋ค๋ฆฌ์ง ๋ชปํ๋ค
์์คํ
์ ๋๋ฉ์ธ ํนํ ์ธ์ด๊ฐ ํ์ํ๋ค
- Domain-Specific Langauge: ๊ฐ๋จํ ์คํฌ๋ฆฝํธ ์ธ์ด๋ ํ์ค์ธ์ด๋ก ๊ตฌํํ API
- ์ข์ DSL์ ๋๋ฉ์ธ ๊ฐ๋
๊ณผ ์ฝ๋ ์ฌ์ด์ ์์ฌ์ํต ๊ฐ๊ทน์ ์ค์ฌ์ค๋ค
๊ฒฐ๋ก
- ๋ชจ๋ ์ถ์ํ ๋จ๊ณ์์ ์๋๋ ๋ช
ํํ ํํํด์ผ ํ๋ค
- POJO๋ฅผ ์์ฑํ๊ณ ๊ด์ ์ผ๋ก ๊ฐ ๊ตฌํ ๊ด์ฌ์ฌ๋ฅผ ๋ถ๋ฆฌํด์ผ ํ๋ค.
- ์์คํ
์ด๊ฑด ๊ฐ๋ณ ๋ชจ๋์ด๊ฑด ๋์๊ฐ๋ ๊ฐ์ฅ ๋จ์ํ ์๋จ์ ์ฌ์ฉํด์ผ ํ๋ค
๐คย ๋ ์ค๋ฅด๋ ์๊ฐ
- ์๋ฌด๋๋ ํฐ ์์คํ
์ ๊ด์ ์์ ๋ฐ๋ผ ๋ณธ ์ฑํฐ์๊ธฐ ๋๋ฌธ์ ์ถ์์ ์ธ ๋ด์ฉ์ด ๋ง์๊ณ ์ธ๋ถ ๊ตฌํ์ด๋ ํ์ ๋ํ ๋ถ๋ถ์ ๋ค๋ฅธ ์ฑ์ฒ์์ ์งํ ๋ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค. ํ์ง๋ง ๊ฐ๋ฐ ๊ฒฝ๋ ฅ์ด ๋ง์์ง ์๋ก ํฐ ์์คํ
์ ๋ ์ ๋ถ๋ฆฌํด์ผ ํ ๊ฒ์์ ๋ถ๋ช
ํ๋ค.
๐ย ์ง๋ฌธ
๐ย ์๊ฐ 3์ค ์์ฝ
- ๊ฑด์ถ๊ฐ๋ BigDesignUpFront ๋ฅผ ์ถ๊ตฌํ์ง๋ง ์ํํธ์จ์ด๋ ๋จ์ํ๊ณ ๋ฉ์ง๊ฒ ๋ถ๋ฆฌ๋ ์ํคํ
์ฒ๋ก ํ๋ก์ ํธ๋ฅผ ์งํํด ๊ฒฐ๊ณผ๋ฌผ์ ์ฌ๋นจ๋ฆฌ ์ถ์ํ ํ, ๊ธฐ๋ฐ์ ํ์ฅํด ๋๊ฐ๋ ๊ด์ฐฎ๋ค
- POJO๋ฅผ ์์ฑํ๊ณ ๊ด์ ์ผ๋ก ๊ฐ ๊ตฌํ ๊ด์ฌ์ฌ๋ฅผ ๋ถ๋ฆฌํด์ผ ํ๋ค.
- ์์คํ
์ด๊ฑด ๊ฐ๋ณ ๋ชจ๋์ด๊ฑด ๋์๊ฐ๋ ๊ฐ์ฅ ๋จ์ํ ์๋จ์ ์ฌ์ฉํด์ผ ํ๋ค