SOLID
JAVA/์•Œ์•„๋‘๋ฉด ์ข‹์„ ์ง€์‹ 2021. 10. 8. 22:24

SOLID๋ž€? ํด๋ฆฐ์ฝ”๋“œ๋กœ ์œ ๋ช…ํ•œ ๋กœ๋ฒ„ํŠธ ๋งˆํ‹ด์ด ์ข‹์€ ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„์˜ 5๊ฐ€์ง€ ์›์น™์„ ์ •๋ฆฌํ•œ ๊ฒƒ์ด๋‹ค. SRP : ๋‹จ์ผ ์ฑ…์ž„ ์›์น™ OCP : ๊ฐœ๋ฐฉ-ํ์‡„ ์›์น™ LSP : ๋ฆฌ์Šค์ฝ”ํ”„ ์น˜ํ™˜ ์›์น™ ISP : ์ธํ„ฐํŽ˜์ด์Šค ๋ถ„๋ฆฌ ์›์น™ DIP : ์˜์กด๊ด€๊ณ„ ์—ญ์ „ ์›์น™ SRP(Single Responsibility Principle) ํ•œ ํด๋ž˜์Šค๋Š” ํ•˜๋‚˜์˜ ์ฑ…์ž„๋งŒ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค. ์ค‘์š”ํ•œ ๊ธฐ์ค€์€ ๋ณ€๊ฒฝ, ๋ณ€๊ฒฝ์ด ์žˆ์„ ๋•Œ ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๋งŒ ๋ณ€๊ฒฝ๋˜๋ฉด ๊ต‰์žฅํžˆ ์ž˜ ์ง€ํ‚จ ๊ฒƒ์ด๋‹ค. → ํ•˜๋‚˜์˜ ํด๋ž˜์Šค ์•ˆ์— DB, SQL ์ฟผ๋ฆฌ๋ฌธ, View ๋กœ์ง ...... ์œ ์ง€๋ณด์ˆ˜ ์ธก๋ฉด์—์„œ ์ตœ์•…์ด๋‹ค. OCP(Open/closed principle) ์†Œํ”„ํŠธ์›จ์–ด ์š”์†Œ๋Š” ํ™•์žฅ์—๋Š” ์—ด๋ ค ์žˆ์œผ๋‚˜ ๋ณ€๊ฒฝ์—๋Š” ๋‹ซํ˜€ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๋งŒ์•ฝ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ค์–ด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ตฌํ˜„์ฒด..