๋ ์ด์ด๋ ์ํคํ ์ฒ(Layered Architecture)์ ํ ์คํธ
๋ ์ด์ด๋ ์ํคํ ์ฒ
์ฌ์ฉ์ ์์ฒญ์ด ์์ ๋ ๋ ์ด์ด๋ณ๋ก ์์ฒญ์ ์ฒ๋ฆฌํ์! -> ๊ด์ฌ์ฌ์ ๋ถ๋ฆฌ
๊ด์ฌ์ฌ๋ฅผ ๋ถ๋ฆฌํจ์ผ๋ก์จ ์ฑ ์์ ๋๋๊ณ ์ ์ง๋ณด์ํ๊ธฐ ์ฉ์ดํ๊ฒ ๋ง๋ค ์ ์๋ค.
Presentation Layer, Business Layer, Persistence Layer ๋ก ๋๋๊ณ , ์ด๋ฅผ 3-Tier๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ๋ค.
์กฐ๊ธ ๋ ์์ธํ ๋๋๊ณ ์ถ๋ค๋ฉด Persistence Layer ํ์์ Infrastructure Layer๋ฅผ ๋๊ณ 4-Tier๋ก ๋๋๊ธฐ๋ ํ๋ค.
Presentation Layer
โ ์ธ๋ถ ์ธ๊ณ์ ์์ฒญ์ ๊ฐ์ฅ ๋จผ์ ๋ฐ๋ ๊ณ์ธต
โ ํ๋ผ๋ฏธํฐ์ ๋ํ ์ต์ํ์ ๊ฒ์ฆ์ ์ํํ๋ค.
Business Layer
โ ๋น์ฆ๋์ค ๋ก์ง์ ๊ตฌํํ๋ ์ญํ
โ Persistence Layer์์ ์ํธ์์ฉ(Data๋ฅผ ์ฝ๊ณ ์ฐ๋ ํ์)๋ฅผ ํตํด ๋น์ฆ๋์ค ๋ก์ง์ ์ ๊ฐ์ํจ๋ค.
โ ํธ๋์ญ์ ์ ๋ณด์ฅํด์ผ ํ๋ค.
Persistence Layer
โ Data Access์ ์ญํ
โ ๋น์ฆ๋์ค ๊ฐ๊ณต ๋ก์ง์ด ํฌํจ๋์ด์๋ ์๋๋ค. Data์ ๋ํ CRUD์๋ง ์ง์คํ ๋ ์ด์ด
ํตํฉ ํ ์คํธ
A ๊ฐ์ฒด์ B ๊ฐ์ฒด๊ฐ ์๋ค.
์ด ๋ ๊ฐ์ฒด๊ฐ ํตํฉํด์ ๋์์ ํ์ ๋ ์ด๋ป๊ฒ ๋์ํ ์ง๋ ์ ์ ์๋ค.
AB๋ก ๋์ํ ๊ฒ์ธ๊ฐ? BA๋ก ๋์ํ ๊ฒ์ธ๊ฐ? ์๋๋ฉด ์ ํ ๋ค๋ฅธ C๋ก ๋์ํ ์๋ ์๋ค.
์ด์ฒ๋ผ ์ฌ๋ฌ ๊ฐ์ฒด๋ ๋ชจ๋์ด ํ๋ ฅ์ ํจ์ผ๋ก์จ ๋จ์ ํ ์คํธ ๋ง์ผ๋ก๋ ์ปค๋ฒํ๊ธฐ ์ด๋ ค์์ง๊ฒ ๋๋ค.
๋ฐ๋ผ์ ํตํฉ ํ ์คํธ๊ฐ ๋ฑ์ฅํ๊ฒ ๋ ๊ฒ์ด๋ค.
โ ์ฌ๋ฌ ๋ชจ๋์ด ํ๋ ฅํ๋ ๊ธฐ๋ฅ์ ํตํฉ์ ์ผ๋ก ๊ฒ์ฆํ๋ ํ ์คํธ
โ ์ผ๋ฐ์ ์ผ๋ก ์์ ๋ฒ์์ ๋จ์ ํ ์คํธ๋ง์ผ๋ก๋ ๊ธฐ๋ฅ ์ ์ฒด์ ์ ๋ขฐ์ฑ์ ๋ณด์ฅํ ์ ์๋ค.
โ ํ๋ถํ ๋จ์ ํ ์คํธ & ํฐ ๊ธฐ๋ฅ ๋จ์๋ฅผ ๊ฒ์ฆํ๋ ํตํฉ ํ ์คํธ