- ๋์ผ๊ฑฐ๋ ์ ์ฌํ ๊ฐ์ฒด๋ค ์ฌ์ด์ ๊ฐ๋ฅํ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ์๋ก ๊ณต์ ํ์ฌ ์ฌ์ฉํ๋๋ก ํ์ฌ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์ ์ฝํ๋ ๋์์ธ ํจํด
- ์ฌ๋ฌ ๊ฒ์ ์บ๋ฆญํฐ ๊ฐ์ฒด๋ฅผ ๋ง๋ค๋ค๊ณ ํ ๋, ์บ๋ฆญํฐ ๋ง๋ค ๋ชจ๋ ํน์ง? ์ ๊ฐ์ฒด๋ก ๋ง๋ ๋ค๊ณ ํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๊ฐ ๋ ์ ์์ต๋๋ค. ๊ทธ๋์ Flyweight Pattern์ ์ฌ์ฉํ๋ฉด ์บ๋ฆญํฐ๋ง๋ค ๊ณตํต๋ ์์ฑ์ ํ๋์ ๊ฐ์ฒด๋ก ๊ด๋ฆฌํ๊ณ , ๊ฐ๋ณ์ ์ธ ์์ฑ๋ง ๋ณ๋ก๋ธ ๊ฐ์ฒด๋ก ์์ฑํด์ ๊ด๋ฆฌํ๋ค๊ณ ์๊ฐํ๋ฉด ์ฝ์ต๋๋ค. ์์ ๊ฐ์ด ํ๋ฉด ๊ฐ์ฒด ์๋ฅผ ์ค์ด๊ณ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ๊ฐ์ฒด ์์ฑ ๋น์ฉ์ด ๋์ ์ํฉ์์ ์ฑ๋ฅ์ ํฅ์์ํค๊ฑฐ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํด์ผํ๋ ์์ ์์ ์ฌ์ฉํฉ๋๋ค. ์ฌ๊ธฐ์ ๊ฐ์ฒด ์์ฑ ๋น์ฉ์ด ๋๋ค๋ ๋ป์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋๋ฐ ์์, ์๊ฐ, ๋น์ฉ์ด ๋ง์ด ๋ ๋ค๋ ๋ป ์ ๋๋ค.
- Flyweight Pattern์ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ๊ฐ์ฒด ์์ฑ ๋น์ฉ์ ์ค์ด๊ณ , ๊ฐ์ฒด์ ์ฌ์ฌ์ฉ์ฑ์ ํฅ์์ํจ๋ค๋ ๋ป ์ ๋๋ค.
- ์ฅ์
- ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ค์ฌ ์ฑ๋ฅ์ ํฅ์์ํต๋๋ค.
- Flyweight ๊ฐ์ฒด๋ ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํด์ ๊ฐ์ฒด์ ์ธ์คํด์ค ์๋ฅผ ์ค์ ๋๋ค.
- ๊ฐ์ฒด ์์ฑ ๋น์ฉ์ ์ค์ ๋๋ค.
- ๊ฐ์ฒด์ ์ฌ์ฌ์ฉ์ฑ์ด ๋์์ง๋๋ค.
- ์ ์ฐ์ฑ์ด ๋์ต๋๋ค.
- ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๋ฐ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์บก์ํํ์ฌ ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋ ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์ ์ง ๋ณด์์ฑ์ด ๋์ต๋๋ค.
- ์ฝ๋ ๊ฐ๋ ์ฑ์ด ๋์์ง๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ค์ฌ ์ฑ๋ฅ์ ํฅ์์ํต๋๋ค.
- ๋จ์
- ๊ณต์ ๊ฐ์ฒด์ ์ํ๊ฐ ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ์๋ ์ฃผ์ ํด์ผํฉ๋๋ค.
- ํ๋์ ๊ฐ์ฒด๋ฅผ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์ ํ๋์ ๊ฐ์ฒด์์ ์ํ ๋ณํ๊ฐ ์ด๋ค์ง๋ฉด ๋ชจ๋ ๊ฐ์ฒด์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
- Flyweight ๊ฐ์ฒด๋ค์ ๊ณต์ ๋๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ๋๋ฌธ์, ๋ฐ์ดํฐ์ ์ผ๋ถ๋ถ์ด ์์ฃผ ๋ณ๊ฒฝ๋๋ ๊ฒฝ์ฐ ์ฌ์ฌ์ฉ์ฑ์ด ์ ํฉํ์ง ์์ ์ ์์ต๋๋ค.
- ๊ณต์ ๊ฐ์ฒด์ ์ํ๊ฐ ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ์๋ ์ฃผ์ ํด์ผํฉ๋๋ค.
- swift๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋จ์ด๋ฏ๋ก, Flyweight๋ฅผ ์ ์ฉํ๋ ๊ฒ์ด ์ ํฉํฉ๋๋ค.
- ํด๋์ค๋ Flyweight ๊ฐ์ฒด๋ฅผ ๊ตฌํํ๋ ๋ฐ ์ ํฉํ ๋ฐ์ดํฐ ํ์
์
๋๋ค.
- ๊ตฌ์กฐ์ฒด๋ ๊ฐ์ฒด๋ฅผ ๋ณต์ฌํ๋ฉด ๊ฐ์ด ๋ณต์ฌ๋๋ฏ๋ก ๊ฐ์ ๊ณต์ ํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
- Flyweight ํจํด์ ๊ตฌํํ ๋๋ class๋ฅผ ์ฌ์ฉํ๋ ๊ฒ ์ ์ ํฉ๋๋ค.
- Flyweight ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ํฉํ ๋ฆฌ ํด๋์ค ๋๋ ๋ฉ์๋๋ฅผ ์์ฑํฉ๋๋ค.
- ๊ณต์ ํ ๋ฐ์ดํฐ๋ฅผ ์บก์ํํ๋ Flyweight ๊ฐ์ฒด๋ฅผ ์์ฑํฉ๋๋ค.
- Flyweight ํฐํ ๋ฆฌ์ ์ด๋ฏธ ์์ฑ๋ ๊ฐ์ฒด๋ฅผ ์ ์ฅํ๊ณ ์ฌ์ฌ์ฉํฉ๋๋ค.
์๊ณ ๋ง์์ต๋๋ค!!
์๋๋ ์ฝ๋ ์์ ์
๋๋ค.
์ด๋ ํ๊ธฐ