CS31 [GoF ๋์์ธ ํจํด] - ์ฑ๊ธํค ํจํด ๋ชจ๋ ์ฝ๋๋ Swift๋ก ์์ฑ๋์์ต๋๋ค. ๋ฌธ์ ์ํฉ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ฐ๋ ์ญํ ์ ํ๋ ๊ฐ์ฒด๊ฐ ์๊ณ ์ฝ๋์ ์ฌ๋ฌ ๊ณณ์์ ์ด ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ค๊ณ ๊ฐ์ ํด ๋ณด์. ๊ฐ๊ฐ์ ์ฝ๋ ์์ญ์์ ์ด ๊ฐ์ฒด์ ์ธ์คํด์ค๋ฅผ ์ผ์ผ์ด ์์ฑํ๋ค๋ฉด ๋ ๊ฐ์ง ๋ฌธ์ ์ ์ด ๋ฐ์ํ ์ ์๋ค. ์ฒซ์งธ, ๋ชจ๋ ์ฝ๋ ์์ญ์์ ์๋ก์ด ์ธ์คํด์ค๋ฅผ ๊ณ์ ์์ฑํ๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ง์ด ์ฌ์ฉ๋๋ค.๋์งธ, ํ๋์ ์ฝ๋ ์์ญ์์์ ์์ ๊ฒฐ๊ณผ๊ฐ ๋ค๋ฅธ ์ฝ๋ ์์ญ์ ๊ณต์ ๋์ง ๋ชปํ ์ ์๋ค. ์ฆ, A ์ฝ๋ ์์ญ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ์์ผ ๋จ์ง๋ง, B ์ฝ๋ ์์ญ์์๋ ์๋ก์ด ์ธ์คํด์ค๋ฅผ ์์ฑํ๊ธฐ ๋๋ฌธ์ A ์์ญ์์ ์ ์ฅ์์ผฐ๋ ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์์ ๊ฒ์ด๋ค. ์ฑ๊ธํค ํจํด์ฑ๊ธํค ํจํด์ ์์ฉ ํ๋ก๊ทธ๋จ ์ ์ฒด์ ๊ฑธ์ณ ์ ์ผํ ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด ์ ์ญ์ ์ผ๋ก ๋ฐ์ดํฐ ๊ณต์ ๋ฅผ ํ ์ ์๊ฒ ํด์ฃผ๋ ๋์์ธ ํจํด.. 2024. 12. 2. [GoF ๋์์ธ ํจํด] - ํ๋กํ ํ์ ํจํด ๋ชจ๋ ์ฝ๋๋ Swift๋ก ์์ฑ๋์์ต๋๋ค. ๋ฌธ์ ์ํฉ๋คํธ์ํฌ ์์ ๊ฐ์ด ๋น์ฉ์ด ๋ง์ด ๋๋ ์์ ์ ํตํด ์์ฑ๋๋ ๊ฐ์ฒด๋ฅผ ์ฌ๋ฌ ๊ฐ ๋ง๋ค๊ณ ์ถ์ ๋๊ฐ ์๋ค. ๊ฐ์ฒด๋ฅผ ์ฌ๋ฌ ๊ฐ ๋ง๋ค๊ฒ ๋ค๊ณ ๋์ผํ ๋คํธ์ํฌ ์์ ์ ๋ฐ๋ณตํด์ ํ๋ ๊ฒ์ ๋น์ฐํ ๋นํจ์จ์ ์ด๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ ๋น์ฐํ ์ฐ๋ฆฌ๋ ์๋ ์ฝ๋์ ๊ฐ์ด ์ฒ์ ๋ง๋ค์ด์ง ์ธ์คํด์ค๋ฅผ ๋ณต์ฌ ํ ๊ฒ์ด๋ค. class Response { // JSON ๋ฐ์ดํฐ์ ๊ด๋ จ๋ ๋ฉค๋ฒ ๋ณ์๋ค...}let data = Network().requestAPI("https://127.0.0.1:8080/map/search")let response = Response(data)let copy1 = responselet copy2 = responselet copy3 = response ํด๋์ค.. 2024. 11. 29. [GoF ๋์์ธ ํจํด] - ๋น๋ ํจํด Swift ์ฝ๋๊ฐ ๋ฉ์ธ์ด์ง๋ง, ๋ฌธ๋ฒ์ ์ฐจ์ด๋ก ์ธํด ์ค๋ช ์ ๋ ์ ํฉํ ์ ์๋ Java ์ฝ๋๋ ํฌํจ๋์ด ์์ต๋๋ค. ๋ฑ์ฅ ๋ฐฐ๊ฒฝ๋ง์ฝ ํ๋กํผํฐ๊ฐ ๋ง๊ณ ์์ฑํ ๋ ๊ผญ ํ์ํ์ง ์์ ํ๋กํผํฐ, ์ฆ ์ ํ์ ํ๋กํผํฐ๊ฐ ์กด์ฌํ๋ค๊ณ ํ ๋ ๊ฐ์ฒด๋ฅผ ์ด๋ป๊ฒ ์์ฑํด์ผ ํ ๊น? ์ด๊ธฐ์๋ ์์ฑ์๋ฅผ ์ค๋ฒ๋ก๋ฉํ์ฌ ๋ค์ํ ๋งค๊ฐ ๋ณ์์ ๋์ํ ์ ์๋ ์ ์ธต์ ์์ฑ์ ํจํด์ด๋ผ๋ ๋ฐฉ์์ผ๋ก ํด๊ฒฐํ์๋ค. ์ ์ธต์ ์์ฑ์ ํจํด ์ฝ๋ ์์๋๋ณด๊ธฐclass Hamburger { // ํ์ ํ๋กํผํฐ private int bun; private int patty; // ์ ํ์ ํ๋กํผํฐ private int cheese = 0; private int lettuce = 0; private int tomato = 0; .. 2024. 11. 28. [GoF ๋์์ธ ํจํด] - ์ถ์ ํฉํ ๋ฆฌ ๋ฉ์๋ ํจํด ๋ชจ๋ ์ฝ๋๋ Swift๋ก ์์ฑ๋์์ต๋๋ค. ๋ฌธ์ ์ํฉ BlackView, BlackButton, YellowView, YellowButton ๊ฐ์ฒด๋ค์ ์กฐํฉํ์ฌ ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ ์กฐํฉ์ ๊ฐ์ฒด๋ฅผ ์์ฑํด์ผ ํ๋ ์ํฉ์ด๋ผ๊ณ ๊ฐ์ ํด ๋ณด์. ๊ฐ ๊ฐ์ฒด๋ค์ ํฉํ ๋ฆฌ ๋ฉ์๋ ํจํด์ ์ฌ์ฉํด์ ์์ฑํ๊ณ ์ ํ๋ค๋ฉด ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด BlackView์ YellowView๋ View์ Concrete Product๋ก ํ๊ณ ColoredViewFactory๋ผ๋ Concrete Creator๋ฅผ ์์ฑํ ๊ฒ์ด๊ณ , BlackButton๊ณผ YellowButton์ Button์ Concrete Product, ColoredButtonFactory๋ฅผ Concrete Creator๋ก ์์ฑํ ๊ฒ์ด๋ค. ํ์ง๋ง, ํฉํ ๋ฆฌ ๋ฉ์๋ ํจํด์ ์ฌ์ฉํ๋ค๋ฉด, Bl.. 2024. 11. 26. ์ด์ 1 2 3 4 ยทยทยท 8 ๋ค์