Facade
๋ณต์ก์ฑ์ ๊ฐ์ถ๊ธฐ ์ํด ๋จ์ํ๋ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ ๊ตฌ์กฐ์ ๋์์ธ ํจํด
์กํ ์์คํ ์ ๋จ์ํ๋๊ณ ๋์ ์์ค์ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ์ฌ ํด๋ผ์ด์ธํธ๊ฐ ์์คํ ๊ณผ ๋ ์ฝ๊ฒ ์ํธ ์์ฉํ ์ ์๋๋ก ํ๋ ๊ตฌ์กฐ์ ๋์์ธ ํจํด์ด๋ค.
ํผ์ฌ๋ ํจํด์ ๊ตฌ์ฑ
Facade: ํด๋ผ์ด์ธํธ๊ฐ ํ์ ์์คํ ์ ์ก์ธ์คํ๋ ์ง์ ์ , ๊ธฐ๋ณธ ํ์ ์์คํ ์ ๋ณต์ก์ฑ์ ์ถ์ํํ๊ณ ์จ๊ธฐ๋ ๋จ์ํ๋ ๊ณ ๊ธ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณต
ํ์ ์์คํ : ๋ณต์กํ ์์คํ ์ ๊ตฌ์ฑํ๋ ๊ฐ๋ณ ๊ตฌ์ฑ ์์ ๋๋ ํด๋์ค
์๋ ์ฝ๋๋ ํผ์ฌ๋ ํจํด์ ์ฌ์ฉํ์ฌ ๋ณต์กํ ํ์ ์์คํ ์ ๋จ์ํ๋ ์ธํฐํ์ด์ค๋ก ๋ํํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋ค.
ํผ์ฌ๋ ํจํด์ ์ด์
ํด๋ผ์ด์ธํธ ์ฝ๋ ๋จ์ํ: ์ฌ์ฉํ๊ธฐ ์ฌ์ด ๋จ์ผ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ์ฌ ํด๋ผ์ด์ธํธ ์ฝ๋๋ฅผ ๋จ์ํ(ํ์ ์์คํ ์ ๋ณต์ก์ฑ์ ์๋)
์ ์ง๋ณด์์ฑ ํฅ์: ๋ณต์กํ ์์คํ ์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ์ด Facade ํด๋์ค ๋ด์ ํฌํจ๋์ด ์ฝ๋๋ฒ ์ด์ค์ ์ ์ง ๋ณด์ ์ฉ์ด์ฑ ํฅ์
ํ์ฌ๋ ํจํด์ ์ด์ฉํ ์ํ ์ฐธ์กฐ ํด๊ฒฐ
์ํ ์ฐธ์กฐ: ๋ ๊ฐ ์ด์์ ํด๋์ค๊ฐ ์๋ก์ ๋ํ ์ฐธ์กฐ๋ฅผ ๋ณด์ ํ๊ณ ์๋ ์ํ
์ํ ์ฐธ์กฐ๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์์ ํํ ๋ฐ์ํ๋ ๋ฌธ์ ๋ก, ์ํ ์ฐธ์กฐ๊ฐ ๋ฐ์ํ๋ฉด ์ฝ๋๋ฅผ ์ดํดํ๊ธฐ ์ด๋ ค์์ง๊ณ ์ ์ง๋ณด์๊ฐ ์ด๋ ค์์ง๋ค. ์ด ๋ฌธ์ ๋ ํ์ฌ๋ ํจํด์ ์ฌ์ฉํ์ฌ ํด๊ฒฐํ ์ ์๋ค.
์ํ ์ฐธ์กฐ๊ฐ ๋ฐ์ํ๋ ์ฝ๋
ํผ์ฌ๋ ํจํด์ ์ฌ์ฉํ์ฌ ์ํ ์ฐธ์กฐ ํด๊ฒฐ
ClassB
์์ ClassA
๋ฅผ ํ์๋ก ํ๋ ๋ฉ์๋๋ฅผ ๋ณ๋์ Facade
ํด๋์ค๋ก ๋ถ๋ฆฌํ์ฌ ClassB
๊ฐ ๋์ด์ ClassA
๋ฅผ ํ์๋ก ํ์ง ์๋๋ก ํ์ฌ ์ํ ์ฐธ์กฐ๋ฅผ ํด๊ฒฐํ ์ ์๋ค.
Last updated