[์ดํํฐ๋ธ ์๋ฐ] ํ๋ผ์ด์จ์ดํธ ํจํด flyWeight pattern
2022. 8. 31. 17:03ใJAVA/Effective JAVA
728x90
ํ๋ผ์ด์จ์ดํธ ํจํด Flyweight Pattern
- ๋์์ธ ํจํด ์ค ํ๋๋ก ๊ฐ์ฒด๋ฅผ ์ฌ์ฌ์ฉํ๊ธฐ ์ํ ๋ฐฉ๋ฒ ์ค ํ๋
- ๊ฐ์ฒด๋ฅผ ๊ฐ๋ณ๊ฒ ๋ง๋ค์ด ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ค์ด๊ธฐ ์ํ ํจํด
- ์์ฃผ ๋ณํ๋ ์์ฑ(๋๋ ์ธ์ ์ธ ์์ฑ)๊ณผ ๋ณํ์ง ์๋ ์์ฑ(๋๋ ๋ด์ ์ธ ์์ฑ)์ ๋ถ๋ฆฌํ๊ณ ์ฌ์ฌ์ฉํ์ฌ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์ค์ผ ์ ์๋ค.
ํจ์ ์ ์ฉ ์
ํจ์ ์ ์ฉ ํ
fontsize, fontfamliy๋ฅผ ๋ฌถ์ด์ Font๋ผ๋ ํด๋์ค๋ฅผ ๋ง๋ค์๋ค.
๊ทธ๋ฆฌ๊ณ fontFactory์ getFont ๋ฉ์๋๋ฅผ ๋ง๋ค์ด์ ๋ฐ๋ณต๋๋ ๊ฐ์ ์ฌ์ฌ์ฉํ ์ ์๋๋ก ํ๋ค.
์ด๋ ์ ์ ํฉํฐ๋ฆฌ ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ํ ์๋ ์๋ค.
ํ๋ผ์ด์จ์ดํธ ํจํด์ ๋ฐ๋ก ๋์์ธํจํด ๊ฐ์์์ ์๊ฐ๋ฅผ ํ๊ณ ์๋ค๊ณ ํด์ ๋ค์ ํ๋ฒ ๊ณต๋ถ๋ ํด์ผ๊ฒ ๋ค.
๊ทธ๋ฅ ์ฌ๊ธฐ์๋ ๊ฐ์ฒด๋ฅผ ์ฌ์ฌ์ฉํ๊ธฐ ์ํ ๋ฐฉ๋ฒ ์ค ํ๋์ด๊ณ , ์ ์ ํฉํฐ๋ฆฌ ๋ฉ์๋์ ๋น์ทํ ๊ธฐ๋ฒ์ด๋ผ๊ณ ์๊ณ ์๊ธฐ..!!!
728x90