๐คท๐ผโ๏ธ Etc...178 [์ํฐํด ๋ฆฌ๋ทฐ] ํ ์ค ํ์ด๋จผ์ธ -๋ฉฑ๋ฑ์ฑ์ด ๋ญ๊ฐ์? ํด๋น ๊ธ์ ๊ฐ๋ฐ, ๊ธฐ์ ๊ด๋ จ ์ํฐํด์ด๋ ๋ธ๋ก๊ทธ ๊ธ ํน์ ์ ํ๋ธ ์์์ ๋ด์ฉ์ ์ ๋ฆฌํ๊ฑฐ๋ ํ๊ธฐ๋ฅผ ์ ๋ ๊ธ์ ๋๋ค. ๋ฆฌ๋ทฐํ ๊ธ: tosspayments velog ์ '๋ฉฑ๋ฑ์ฑ์ด ๋ญ๊ฐ์?' ๋ฉฑ๋ฑ์ฑ์ด ๋ญ๊ฐ์? ์์ํ ํํ์ด์ง๋ง ์๊ณ ๋ณด๋ฉด ์ฌ์์. ๋ฉฑ๋ฑ์ฑ์ ๋ํด ์ดํดํ๊ณ API๋ฅผ ๋ฉฑ๋ฑํ๊ฒ ์ ๊ณตํ๊ธฐ ์ํ ๋ฐฉ๋ฒ๋ ํจ๊ป ์์๋ด์. velog.io ๊ธ์ ์์ฝ ๋ฉฑ๋ฑํ๋ค๋ ๊ฒ์ ๋ฌด์์ธ๊ฐ? ์ฒซ ๋ฒ์งธ ์ํ์ ํ ๋ค, ์ฌ๋ฌ ์ฐจ๋ก ์ํํด๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณ๊ฒฝ์ํค์ง ์๋ ๊ฒ ๋ฉฑ๋ฑ์ฑ์ ์ฅ์ ๋์ผํ ์์ฒญ์ ๋ ๋ฒ ํ๋๋ผ๋ ์๋ฒ์ ๋ฐ์ดํฐ ์ํ๋ฅผ ํ ๋ฒ๋ง ๋ณ๊ฒฝํ๊ธฐ์ ์๋ํ์ง ์์ ๋ฌธ์ ๋ฅผ ์ผ์ผํค์ง ์๋๋ค ์์ ํ API ๋ฅผ ๋ง๋๋ ๊ธธ ๋ฉฑ๋ฑํค๋ฅผ ์ด์ฉํด์ API ์์ ๋ฉฑ๋ฑ์ฑ์ ๋ณด์ฅํ๋ค ๋ฉฑ๋ฑํค์ ๋ํ ๊ธฐ๋ก์ ํตํด์ ๋ฉฑ๋ฑ์ฑ์ ๋ณด์ฅ ํด๋ผ์ด์ธํธ ๋จ์์ ๋ฉฑ๋ฑํค๋ฅผ ์.. 2023. 1. 15. [๊ฐ๋ฐ์ ์ฑ ์ฝ๊ธฐ] ํด๋ฆฐ ์ํคํ ์ฒ-์ํํธ์จ์ด ๊ตฌ์กฐ์ ์ค๊ณ์ ์์น (9์ฅ 10์ฅ 11์ฅ LSP ์ ISP ๊ทธ๋ฆฌ๊ณ DIP) ํด๋น ๊ธ์ Robert C.Martin ํด๋ฆฐ ์ํคํ ์ฒ ๋ผ๋ ์ฑ ์ ์ฝ๊ณ ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌ ๋ฐ ํ๊ณ ํ๋ ๊ธ ์ ๋๋ค. ์์ธํ ์ฌํญ์ YES 24 ํด๋ฆฐ ์ํคํ ์ฒ - ์ํํธ์จ์ด ๊ตฌ์กฐ์ ์ค๊ณ์ ์์น ์์ ํ์ธํด์ฃผ์ธ์. ํด๋ฆฐ ์ํคํ ์ฒ - ์ํํธ์จ์ด ๊ตฌ์กฐ์ ์ค๊ณ์ ์์น (Robert C. Martin) ์ํค๋ถ์ค ์ง์์ด: Robert C.Martin (Uncle Bob) ์ฎ๊ธด์ด: ์ก์ค์ด ์ด๋ฒ ์ฅ์์ ์ด์ผ๊ธฐํ๊ณ ์ ํ๋ ๊ฒ LSP ๋ค์๊ณผ ๊ฐ์ ์นํ ์์น์ด ์ ์ฉ๋๋ค๋ฉด LSP ๋ฅผ ๋ง์กฑํ๋ค A ๋ฅผ ๊ตฌํํ๋(์์ํ๋) ์๋ธ ํ์ B์ C ๊ฐ ์๋ค๋ฉด B ํ์ ์ ๋ชจ๋ C ํ์ ์ผ๋ก ๋ณ๊ฒฝํ๋๋ผ๋ ํ์๊ฐ ๋ณํ์ง ์๋๋ค. LSP ๋ ์ํคํ ์ฒ ์์ค๊น์ง ํ์ฅํ ์ ์๊ณ ๋ฐ๋์ ํ์ฅํด์ผ ํ๋ค. ์นํ ๊ฐ๋ฅ์ฑ์ ์๋ฐฐํ๋ค๋ฉด ์๋น๋์ ์ถ๊ฐ ๊ตฌํ์ฌํญ์ด .. 2022. 4. 23. [๊ฐ๋ฐ์ ์ฑ ์ฝ๊ธฐ] ํด๋ฆฐ ์ํคํ ์ฒ-์ํํธ์จ์ด ๊ตฌ์กฐ์ ์ค๊ณ์ ์์น (7์ฅ 8์ฅ - SRP ์ OCP) ํด๋น ๊ธ์ Robert C.Martin ํด๋ฆฐ ์ํคํ ์ฒ ๋ผ๋ ์ฑ ์ ์ฝ๊ณ ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌ ๋ฐ ํ๊ณ ํ๋ ๊ธ ์ ๋๋ค. ์์ธํ ์ฌํญ์ YES 24 ํด๋ฆฐ ์ํคํ ์ฒ - ์ํํธ์จ์ด ๊ตฌ์กฐ์ ์ค๊ณ์ ์์น ์์ ํ์ธํด์ฃผ์ธ์. ํด๋ฆฐ ์ํคํ ์ฒ - ์ํํธ์จ์ด ๊ตฌ์กฐ์ ์ค๊ณ์ ์์น (Robert C. Martin) ์ํค๋ถ์ค ์ง์์ด: Robert C.Martin (Uncle Bob) ์ฎ๊ธด์ด: ์ก์ค์ด ์ด๋ฒ ์ฅ์์ ์ด์ผ๊ธฐํ๊ณ ์ ํ๋ ๊ฒ SRP SRP, Single Responsible Principal SOLID ์ค ๊ฐ์ฅ ์๋ชป ์๋ฏธ๊ฐ ์ ๋ฌ๋์๋ค SRP ๋ ๋ชจ๋์ ๋ณ๊ฒฝ์ ์ด์ ๋ ํ๋์ด๋ค. ์ต์ข ์ ์ผ๋ก ์ ์ํ ์๋ฏธ๋ ํ๋์ ๋ชจ๋์ ์ค์ง ํ๋์ ์กํฐ์ ๋ํด์๋ง ์ฑ ์์ ธ์ผ ํ๋ค ๋ง์ฝ ์๋ก ๋ค๋ฅธ ์กํฐ๊ฐ ํ๋์ ๋ชจ๋์ ๋ฐ๋ผ๋ณธ๋ค๋ฉด ํ์ ์ด ํ๋ค์ด์ง๋ค .. 2022. 4. 22. [๊ฐ๋ฐ์ ์ฑ ์ฝ๊ธฐ] ํด๋ฆฐ ์ํคํ ์ฒ-์ํํธ์จ์ด ๊ตฌ์กฐ์ ์ค๊ณ์ ์์น (5์ฅ 6์ฅ - ๊ฐ์ฒด ์งํฅ, ํจ์ํ ํ๋ก๊ทธ๋๋ฐ) ํด๋น ๊ธ์ Robert C.Martin ํด๋ฆฐ ์ํคํ ์ฒ ๋ผ๋ ์ฑ ์ ์ฝ๊ณ ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌ ๋ฐ ํ๊ณ ํ๋ ๊ธ ์ ๋๋ค. ์์ธํ ์ฌํญ์ YES 24 ํด๋ฆฐ ์ํคํ ์ฒ - ์ํํธ์จ์ด ๊ตฌ์กฐ์ ์ค๊ณ์ ์์น ์์ ํ์ธํด์ฃผ์ธ์. ํด๋ฆฐ ์ํคํ ์ฒ - ์ํํธ์จ์ด ๊ตฌ์กฐ์ ์ค๊ณ์ ์์น (Robert C. Martin) ์ํค๋ถ์ค ์ง์์ด: Robert C.Martin (Uncle Bob) ์ฎ๊ธด์ด: ์ก์ค์ด ์ด๋ฒ ์ฅ์์ ์ด์ผ๊ธฐํ๊ณ ์ ํ๋ ๊ฒ ๊ฐ์ ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ข์ ์ํคํ ์ฒ๋ฅผ ๋ง๋๋ ๊ฒ ๊ฐ์ฒด ์งํฅ ์ค๊ณ ์์น์ ์ ์ดํดํ๊ณ ์์ฉํ๋ ๋ฐ์์ ์ถ๋ฐํ๋ค. ๊ฐ์ฒด ์งํฅ์ ์ค๋ช ํ๊ธฐ ์ํด์ 3๊ฐ์ง๋ฅผ ์ ์ดํดํด์ผ ํจ ์บก์ํ ์์ ๋คํ์ฑ ์บก์ํ, Encapsulation ๊ตฌ๋ถ์ ๋ฐ์ ๋ฐ์ดํฐ๋ ์๋๋๊ณ ์ผ๋ถ ํจ์๋ง ๋ ธ์ถ์ํด์ผ๋ก ๋ฐ์ดํฐ์ ํจ์๋ฅผ ์์ง๋ ฅ ์๊ฒ ๋ง.. 2022. 4. 22. [๊ฐ๋ฐ์ ์ฑ ์ฝ๊ธฐ] ํด๋ฆฐ ์ํคํ ์ฒ-์ํํธ์จ์ด ๊ตฌ์กฐ์ ์ค๊ณ์ ์์น (2์ฅ ๋๊ฐ์ง ๊ฐ์น์ ๋ํ ์ด์ผ๊ธฐ) ํด๋น ๊ธ์ Robert C.Martin ํด๋ฆฐ ์ํคํ ์ฒ ๋ผ๋ ์ฑ ์ ์ฝ๊ณ ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌ ๋ฐ ํ๊ณ ํ๋ ๊ธ ์ ๋๋ค. ์์ธํ ์ฌํญ์ YES 24 ํด๋ฆฐ ์ํคํ ์ฒ - ์ํํธ์จ์ด ๊ตฌ์กฐ์ ์ค๊ณ์ ์์น ์์ ํ์ธํด์ฃผ์ธ์. ํด๋ฆฐ ์ํคํ ์ฒ - ์ํํธ์จ์ด ๊ตฌ์กฐ์ ์ค๊ณ์ ์์น (Robert C. Martin) ์ํค๋ถ์ค ์ง์์ด: Robert C.Martin (Uncle Bob) ์ฎ๊ธด์ด: ์ก์ค์ด ์ด๋ฒ ์ฅ์์ ์ด์ผ๊ธฐํ๊ณ ์ ํ๋ ๊ฒ ์ํํธ์จ์ด๊ฐ ์ดํด๊ด๊ณ์์๊ฒ ์ ๊ณตํ๋ ๋๊ฐ์ง ๊ฐ์น ํ์ ๊ตฌ์กฐ ๊ฐ๋ฐ์๋ ๋๊ฐ์ง ๊ฐ์น์ค ํ๊ฐ์ง์๋ง ์ง์คํ๊ฑฐ๋ ๋ ์ค์ํ ๊ฐ์น์ ์ง์คํจ ํ์ ๊ฐ๋ฐ์๋ ์ดํด๊ด๊ณ์๊ฐ ๊ธฐ๋ฅ ๋ช ์ธ๋ ์๊ตฌ์ฌํญ ๋ฌธ์๋ฅผ ๊ตฌ์ฒดํํ ์ ์๋๋ก ๋์์ค ๊ตฌ์กฐ (์ํคํ ์ณ) ์ํํธ์จ์ด๋ ๋ณ๊ฒฝํ๊ธฐ ์ฌ์์ผ ํ๋ค. ๋ณ๊ฒฝ์ฌํญ์ ์ ์ฉํ๋๋ฐ์ ์ด๋ ค์์ด ์๋ค๋ฉด.. 2022. 4. 11. [๊ฐ๋ฐ์ ์ฑ ์ฝ๊ธฐ] ํด๋ฆฐ ์ํคํ ์ฒ-์ํํธ์จ์ด ๊ตฌ์กฐ์ ์ค๊ณ์ ์์น (1์ฅ ์ค๊ณ์ ์ํคํ ์ฒ๋?) ํด๋น ๊ธ์ Robert C.Martin ํด๋ฆฐ ์ํคํ ์ฒ ๋ผ๋ ์ฑ ์ ์ฝ๊ณ ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌ ๋ฐ ํ๊ณ ํ๋ ๊ธ ์ ๋๋ค. ์์ธํ ์ฌํญ์ YES 24 ํด๋ฆฐ ์ํคํ ์ฒ - ์ํํธ์จ์ด ๊ตฌ์กฐ์ ์ค๊ณ์ ์์น ์์ ํ์ธํด์ฃผ์ธ์. ํด๋ฆฐ ์ํคํ ์ฒ - ์ํํธ์จ์ด ๊ตฌ์กฐ์ ์ค๊ณ์ ์์น (Robert C. Martin) ์ํค๋ถ์ค ์ง์์ด: Robert C.Martin (Uncle Bob) ์ฎ๊ธด์ด: ์ก์ค์ด ์ด๋ฒ ์ฅ์์ ์ด์ผ๊ธฐํ๊ณ ์ ํ๋ ๊ฒ ์ข์ ์ํํธ์จ์ด ์ค๊ณ์ ๋ชฉํ๋ ํ์ํ ์์คํ ์ ๋ง๋ค๊ณ ์ ์ง๋ณด์ํ๋ ๋ฐ ํฌ์ ๋๋ ์ธ๋ ฅ์ ์ต์ํํจ์ ์๋ค ์ฆ, ๋์ ์ค๊ณ๋ก ๊ตฌ์ฑ๋ ์ํํธ์จ์ด๋ ์๋ก์ด ๊ธฐ๋ฅ ์ถ์๋ง๋ค ๋น์ฉ์ด ์ฆ๊ฐํ๋ค ์ง๋์น ๊ณผ์ ์ด ๊ฐ์ง ์ด๋ฆฌ์์ ๊ฐ๋ฐ์๋ ์์ ์ ๊ณผ์ ํ๋ ์ค์๋ฅผ ์ ์ง๋ฆ ์ฝ๋๋ ๋์ค์ ์ ๋ฆฌํ๋ฉด ๋ผ. ๋น์ฅ์ ์์ฅ์ ์ถ์ํ๋๊ฒ ๋จผ์ .. 2022. 4. 10. ์ด์ 1 2 3 4 5 ยทยทยท 30 ๋ค์