๐ŸŽจ Design Pattern

๋””์ž์ธ ํŒจํ„ด ์ค‘ ํ•˜๋‚˜์ธ ์ปค๋งจ๋“œ ํŒจํ„ด์€ ์š”์ฒญ์„ ๊ฐ์ฒด๋กœ ์บก์Šํ™”ํ•˜์—ฌ ์„œ๋กœ ๋‹ค๋ฅธ ์š”์ฒญ์„ ๊ฐ์ฒด๋กœ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค!์ด๋ฒˆ์—๋Š” Swift์—์„œ ์ปค๋งจ๋“œ ํŒจํ„ด์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ปค๋งจ๋“œ ํŒจํ„ด์ด๋ž€?์ปค๋งจ๋“œ ํŒจํ„ด์€ ์‹คํ–‰๋  ๊ธฐ๋Šฅ์„ ์บก์Šํ™”ํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์™€ ์‹คํ–‰ ๊ฐ์ฒด๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ํŒจํ„ด์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ช…๋ น์„ ๋งค๊ฐœ๋ณ€์ˆ˜ํ™”ํ•˜๊ณ , ์š”์ฒญ์„ ํ์— ์ €์žฅํ•˜๊ฑฐ๋‚˜ ๋กœ๊น…ํ•˜๋ฉฐ, ์‹คํ–‰ ์ทจ์†Œ ๊ธฐ๋Šฅ์„ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.  ์ปค๋งจ๋“œ ํŒจํ„ด์˜ ๊ตฌ์„ฑ ์š”์†Œ 1. Command ํ”„๋กœํ† ์ฝœ: ์‹คํ–‰๋  ๋ช…๋ น์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. 2. Concrete Command: ์‹ค์ œ ์‹คํ–‰๋  ๋ช…๋ น์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. 3. Invoker: ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋Š” ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. 4. Receiver: ์‹ค์ œ๋กœ ๋ช…๋ น์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. ์Šคํ”ผ์ปค ์˜ˆ์‹œ๋กœ ์•Œ์•„๋ณด๊ธฐ์Šคํ”ผ์ปค๋ฅผ ์˜ˆ์ œ๋กœ ๋“ค์–ด..
JINiOS
'๐ŸŽจ Design Pattern' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก