๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90

Builder Pattern1

Builder Pattern: ๊ฐ์ฒด ์ƒ์„ฑ์˜ ์œ ์—ฐํ•จ๊ณผ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ด๋‹ค Builder Pattern: ๊ฐ์ฒด ์ƒ์„ฑ์˜ ์œ ์—ฐํ•จ๊ณผ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ด๋‹ค ์†Œ๊ฐœ ๋นŒ๋” ํŒจํ„ด(Builder Pattern)์€ ๊ฐ์ฒด์˜ ์ƒ์„ฑ ๊ณผ์ •์„ ์ถ”์ƒํ™”ํ•˜์—ฌ ๋ณต์žกํ•œ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋””์ž์ธ ํŒจํ„ด ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ์ด ํŒจํ„ด์€ ๊ฐ์ฒด์˜ ํ‘œํ˜„๊ณผ ์ƒ์„ฑ ๊ณผ์ •์„ ๋ถ„๋ฆฌํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ํ‘œํ˜„์˜ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋นŒ๋” ํŒจํ„ด์€ ์ฃผ๋กœ ๋งŽ์€ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฐ–๋Š” ๊ฐ์ฒด์˜ ์ƒ์„ฑ์ด๋‚˜ ๋ณต์žกํ•œ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์œ ์šฉํ•˜๊ฒŒ ์“ฐ์ž…๋‹ˆ๋‹ค. Builder Pattern์˜ ๊ตฌ์กฐ ๋นŒ๋” ํŒจํ„ด์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. Product(์ƒ์„ฑ๋  ๊ฐ์ฒด): ๋นŒ๋”๋ฅผ ํ†ตํ•ด ์ƒ์„ฑ๋˜๋Š” ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. Builder(๋นŒ๋” ์ธํ„ฐํŽ˜์ด์Šค): ๊ฐ์ฒด ์ƒ์„ฑ์— ํ•„์š”ํ•œ ๋ฉ”์†Œ๋“œ๋“ค์„ ์„ ์–ธํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค. ConcreteBuilder(๋นŒ๋” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌ.. 2024. 3. 2.