๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๋‹จ์ผ์ฑ…์ž„ (1)

Unfazedโ—๏ธ๐ŸŽฏ

๋‹จ์ผ ์ฑ…์ž„ ์›์น™(Single Responsibility Principle, SRP)

SRP๋Š” SOLID ์›์น™ ์ค‘ ์ฒซ ๋ฒˆ์งธ ์›์น™์œผ๋กœ, ํ•œ ๊ฐœ์˜ ๋ชจ๋“ˆ์€ ์˜ค์ง ํ•œ ๊ฐœ์˜ ์•กํ„ฐ์—๋งŒ ์ฑ…์ž„์„ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค๋Š” ์›์น™์ด๋‹ค. A module should be responsible to one, and only one, actor.(Actor : ๋ชจ๋“ˆ์˜ ๋ณ€๊ฒฝ์„ ์š”๊ตฌํ•˜๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ์ดํ•ด๊ด€๊ณ„์ž๋‚˜ ์‚ฌ์šฉ์ž ๊ทธ๋ฃน)SRP์—์„œ ์ฑ…์ž„์˜ ์˜๋ฏธ ์ผ๋ฐ˜์ ์ธ ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„์—์„œ์˜ ์ฑ…์ž„(์—ญํ• , ์ฑ…์ž„, ํ˜‘๋ ฅ์—์„œ์˜ ์ฑ…์ž„)๊ฐ์ฒด๊ฐ€ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š” ํ–‰๋™(behavior)์„ ์˜๋ฏธ๊ฐ์ฒด๊ฐ€ "๋ฌด์—‡์„ ์•Œ๊ณ "(knowing) "๋ฌด์—‡์„ ํ•˜๋Š”์ง€"(doing)๋ฅผ ๋‚˜ํƒ€๋ƒ„ํ˜‘๋ ฅ ๊ด€๊ณ„ ์†์—์„œ ๊ฐ์ฒด๊ฐ€ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š” ์—ญํ• ์„ ์˜๋ฏธ์ฃผ๋กœ ๋ฉ”์„œ๋“œ๋‚˜ ๊ธฐ๋Šฅ ๋‹จ์œ„์˜ ์ฑ…์ž„์„ ์˜๋ฏธSRP์—์„œ์˜ ์ฑ…์ž„๋ณ€๊ฒฝ์˜ ์ด์œ (reason for change)๋ฅผ ์˜๋ฏธํŠน์ • ์•กํ„ฐ(์ดํ•ด๊ด€๊ณ„์ž)์˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ์˜๋ฏธ..