CS/Spring

    ์ข‹์€ ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„์˜ 5๊ฐ€์ง€ ์›์น™ SOLID

    S : SRP(Single Reposibility Principle), ๋‹จ์ผ ์ฑ…์ž„ ์›์น™ ํ•œ ํด๋ž˜์Šค๋Š” ํ•˜๋‚˜์˜ ์ฑ…์ž„๋งŒ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค. ์ค‘์š”ํ•œ ๊ธฐ์ค€์€ ๋ณ€๊ฒฝ์ด๋‹ค. ๋ณ€๊ฒฝ์ด ๋ฐœ์ƒํ• ๋•Œ, ํŒŒ๊ธ‰ํšจ๊ณผ๊ฐ€ ์ ์œผ๋ฉด ๋‹จ์ผ ์ฑ…์ž„ ์›์น™, ์ฆ‰ SRP ์›์น™์„ ์ž˜ ๋”ฐ๋ฅธ ๊ฒƒ์ด๋‹ค. O : OCP(Open/Closed Principle), ๊ฐœ๋ฐฉยทํ์‡„ ์›์น™ ํ™•์žฅ์—๋Š” ์—ด๋ ค์žˆ์–ด์•ผ ํ•˜๋‚˜, ๋ณ€๊ฒฝ์—๋Š” ๋‹ซํ˜€์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์œผ๋ฉด, ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ์ƒˆ๋กœ์šด ํด๋ž˜์Šค๋ฅผ ํ•˜๋‚˜ ๋” ๋งŒ๋“ค์–ด์„œ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•œ๋‹ค. ๊ตฌํ˜„ ํด๋ž˜์Šค์™€ ์‹คํ–‰ํด๋ž˜์Šค๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” Config ํด๋ž˜์Šค์˜ ๋ณ€๊ฒฝ๋งŒ ์žˆ์œผ๋ฉด ๋ณ€ํ™”๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ตฌํ˜„ํด๋ž˜์Šค์—์„œ์˜ ์ง์ ‘์ ์ธ ์ˆ˜์ •์€ ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค. L : LSP(Liskov Substitutuion Pr..