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

๊ฐ์ฒด์ง€ํ–ฅ2

์ ˆ์ฐจ์ง€ํ–ฅ๊ณผ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ์ดํ•ด์™€ ํ™œ์šฉ ์ ˆ์ฐจ์ง€ํ–ฅ๊ณผ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ์ดํ•ด์™€ ํ™œ์šฉ 1. ์ ˆ์ฐจ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ 1.1. ๊ฐœ๋…๊ณผ ์œ ๋ž˜ ์ ˆ์ฐจ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ํ”„๋กœ๊ทธ๋žจ์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ, ํ”„๋กœ๊ทธ๋žจ์„ ์ผ๋ จ์˜ ์ ˆ์ฐจ๋กœ ๋‚˜๋ˆ„์–ด ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์ฃผ๋กœ ์ปดํ“จํ„ฐ์˜ ์ฒ˜๋ฆฌ ๊ตฌ์กฐ์™€ ์œ ์‚ฌํ•˜์—ฌ ๋ฐœ์ „ํ•œ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. 1.2. ์—ญํ•  ์ˆœ์ฐจ์  ์‹คํ–‰: ๋ช…๋ น์–ด๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰ํ•˜๋ฉฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“ˆํ™”: ํ•จ์ˆ˜๋‚˜ ํ”„๋กœ์‹œ์ €๋ฅผ ํ†ตํ•ด ๊ธฐ๋Šฅ์„ ๋ชจ๋“ˆํ™”ํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ๊ตฌ์กฐํ™”ํ•ฉ๋‹ˆ๋‹ค. 1.3. ์‚ฌ์šฉ ์ƒํ™ฉ ๊ฐ„๋‹จํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ฑฐ๋‚˜ ์ž‘์€ ๊ทœ๋ชจ์˜ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ ์‹œ์— ์ฃผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. 1.4. ์žฅ๋‹จ์  ์žฅ์ : ์ดํ•ด์™€ ๊ตฌํ˜„์ด ์ƒ๋Œ€์ ์œผ๋กœ ์‰ฝ์Šต๋‹ˆ๋‹ค. ๋‹จ์ : ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ค์šฐ๋ฉฐ ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋‚ฎ์Šต๋‹ˆ๋‹ค. 1.5. ์˜ˆ์ œ ์ฝ”๋“œ #include // ๋‘ ์ˆ˜๋ฅผ ๋”ํ•˜๋Š” ํ•จ์ˆ˜ int add(int a,.. 2024. 2. 26.
[๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„] Solid ์›์น™ SOLID ์›์น™ SOLID ์›์น™ ์†Œ๊ฐœ SOLID๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ์„ค๊ณ„์— ์ ์šฉ๋˜๋Š” ๋‹ค์„ฏ ๊ฐ€์ง€ ๊ธฐ๋ณธ ์›์น™์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์›์น™๋“ค์€ ๋กœ๋ฒ„ํŠธ ๋งˆํ‹ด๊ณผ ๋งˆ์ดํด ํŽ˜๋”์Šค์— ์˜ํ•ด ์†Œ๊ฐœ๋˜์—ˆ์œผ๋ฉฐ, ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์„ ๋” ํšจ์œจ์ ์ด๊ณ  ์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 1. SRP(Single Responsibility Principle) - ๋‹จ์ผ ์ฑ…์ž„ ์›์น™ ๊ฐ ํด๋ž˜์Šค๋Š” ๋‹จ ํ•˜๋‚˜์˜ ์ฑ…์ž„๊ณผ ๊ธฐ๋Šฅ์„ ๊ฐ€์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ํด๋ž˜์Šค๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด์•ผ ํ•˜๋Š” ์ด์œ ๊ฐ€ ํ•˜๋‚˜, ์ฆ‰ ํ•˜๋‚˜์˜ ๋ณ€ํ™”์—๋งŒ ์˜์กดํ•ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. 2. OCP(Open Closed Principle) - ๊ฐœ๋ฐฉ ํ์‡„ ์›์น™ ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ตฌ์„ฑ์š”์†Œ๋Š” ํ™•์žฅ์—๋Š” ๊ฐœ๋ฐฉ๋˜์–ด ์žˆ์–ด์•ผ ํ•˜๊ณ , ์ˆ˜์ •์— ๋Œ€ํ•ด์„œ๋Š” ํ์‡„๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š๊ณ ๋„ .. 2022. 11. 3.