![[๋์์ธํจํด] ์ถ์ ํฉํฐ๋ฆฌ(Abstract Factory) ํจํด์ ๊ฐ๋
, ์์ , ์ฅ๋จ์ , ํ์ฉ](/images/posts/61/img.png)
[๋์์ธํจํด] ์ถ์ ํฉํฐ๋ฆฌ(Abstract Factory) ํจํด์ ๊ฐ๋ , ์์ , ์ฅ๋จ์ , ํ์ฉ
1. ์ถ์ ํฉํ ๋ฆฌ(Abstract Factory) ํจํด ์ด๋? ์ถ์ - ๊ตฌ์ฒด์ ์ผ๋ก ์ด๋ป๊ฒ ๊ตฌํ๋๋์ง ์๊ฐํ์ง ์๊ณ ์ธํฐํ์ด์ค(API)์๋ง ์ฃผ๋ชฉํ๋ ์ํ ๊ณต์ฅ - ๋ถํ์ ์กฐ๋ฆฝํ์ฌ ์ ํ ์์ฑ ์ถ์ + ๊ณต์ฅ ํจํด : ์ถ์์ ์ธ ๊ณต์ฅ์์ ์ถ์์ ์ธ ๋ถํ์ ์กฐํฉํ์ฌ ์ถ์์ ์ธ ์ ํ์ ๋ง๋ ๋ค. ๋ถํ์ ๊ตฌ์ฒด์ ์ธ ๊ตฌํ์ ์ง์คํ์ง ์๊ณ ์ธํฐํ์ด์ค์ ์ฃผ๋ชฉ, ์ธํฐํ์ด์ค๋ง ์ฌ์ฉํ์ฌ ๋ถํ์ ์กฐ๋ฆฝํ๊ณ ์ ํ์ผ๋ก ์์ฑํ๋ค. ๋ค์ ํ๋ฅผ ๋ณด๋ฉด ์ถ์ ํฉํ ๋ฆฌ๊ฐ ์ด๋ค ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ก๋์ง ํ์ธํ ์ ์๋ค. Abstract Factory : ์ต์์ ๊ณต์ฅ, ๋ฉ์๋๋ค์ ์ถ์ํํ๋ค. AbstractProduct์ ์ธ์คํด์ค๋ฅผ ๋ง๋ค๊ธฐ ์ํ ์ธํฐํ์ด์ค๋ฅผ ๊ฒฐ์ ํ๋ค. Concrete Factory : ์๋ธ ๊ณต์ฅ ํด๋์ค, ์ ํ์ ๋ง๋ ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋๋ก ๋ฉ์๋๋ค์ ์ฌ์ ์ํ๋ค. AbstractFactory์ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ค. Abstract Product : ํ์ ์ ์ ํ์ ์ถ์ํํ ์ธํฐํ์ด์ค์ด๋ค. AbstractFactory์ ์ํด ๋ง๋ค์ด์ง๋ ์ถ์์ ์ธ ๋ถํ์ด๋ ์ ํ์ ์ธํฐํ์ด์ค(API)๋ฅผ ๊ฒฐ์ ํ๋ค. ConcreteProduct : ๊ฐ ์ ํ์ ๊ตฌํ์ฒด, ํฉํ ๋ฆฌ ๊ฐ์ฒด๋ก๋ถํฐ ์์ฑํ๋ค. AbstractProduct์ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ค. 2. ์์ ์ฌ์ฉํ ์์ ๋ ๊ณ์ธต ๊ตฌ์กฐ๋ก ๋ ๋งํฌ ํ์ด์ง๋ฅผ HTMLํ์ผ๋ก ๋ฐ๊พธ๋ ์ฝ๋์ด๋ค. ("JAVA ์ธ์ด๋ก ๋ฐฐ์ฐ๋ ๋์์ธ ํจํด ์ ๋ฌธ 3ํธ"์ ์์ ํ์ฉ) HTML ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ์ถ์ ํฉํ ๋ฆฌ ํจํด์ ํตํด ๊ตฌํํ ๊ฒ์ผ๋ก 2๊ฐ์ ํจํค์ง๋ก ๋ถ๋ฆฌ๋ ํด๋์ค๊ตฐ์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค. ...
![[Linux] JDK ์ฌ๋ฌ ๋ฒ์ ์ ์ฉํ๊ธฐ, ์ฌ๋ฌ๊ฐ์ ํจํค์ง ๊ด๋ฆฌํ๊ธฐ (update-alternatives)](/images/posts/60/%ec%8a%a4%ed%81%ac%eb%a6%b0%ec%83%b7%202024-02-05%20%ec%98%a4%ed%9b%84%205.53.05.png)
![[Spring] ์คํ๋ง๋ถํธ 3, ์คํ๋ง ์ํ๋ฆฌํฐ 6, ๋ก๊ทธ์ธ ์ธ์
์ ์ง, ๋ก๊ทธ์ธ ํ๋ฆผ](/images/posts/59/img.png)