๐คท๐ผโ๏ธ Etc...178 [๊ฐ๋ฐ์ ์ฑ ์ฝ๊ธฐ] ํด๋ฆฐ ์ฝ๋-์ ์์ผ ์ํํธ์จ์ด ์ฅ์ธ ์ ์ (14์ฅ-์ ์ง์ ์ธ ๊ฐ์ ) ํด๋น ๊ธ์ Robert C.Martin ํด๋ฆฐ ์ฝ๋ ๋ผ๋ ์ฑ ์ ์ฝ๊ณ ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌ ๋ฐ ํ๊ณ ํ๋ ๊ธ ์ ๋๋ค. ์์ธํ ์ฌํญ์ YES 24 ํด๋ฆฐ ์ฝ๋ - ์ ์์ผ ์ํํธ์จ์ด ์ฅ์ธ ์ ์ ์์ ํ์ธํด์ฃผ์ธ์. ํด๋ฆฐ ์ฝ๋ - ์ ์์ผ ์ํํธ์จ์ด ์ฅ์ธ ์ ์ (Uncle Bob) ์ํค๋ถ์ค ์ง์์ด: Robert C.Martin (Uncle Bob) ์ฎ๊ธด์ด: ๋ฐ์ฌํธ, ์ดํด์ ์ด๋ฒ ์ฅ์์ ์ด์ผ๊ธฐํ๊ณ ์ ํ๋ ๊ฒ ์ด๋ฒ ์ฅ์์๋ Command Line ์ Argument ๋ฅผ ๋ถ์ํ๋ ์ ํธ๋ฆฌํฐ๋ฅผ ๋ง๋ค๋ฉฐ ์ด๋ฅผ ์ ์ง์ ์ผ๋ก ๊ฐ์ ํ๋ ๋ฐฉ์์ ์ด์ผ๊ธฐํ๋ค. ์ ์ง์ ์ผ๋ก ๊ฐ์ ํ๋ค ํ๋ก๊ทธ๋จ์ ๋ง์น๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ค ํ๋๋ ๊ฐ์ ์ด๋ผ๋ ์ด๋ฆ ์๋ ๊ตฌ์กฐ๋ฅผ ํฌ๊ฒ ๋ค์ง๋ ํ์์ด๋ค TDD ๋ฅผ ํด์ํ๋ ๋ ๋ค๋ฅธ ์ด์ ๊ฐ ์ถ๊ฐ๋๋ค ๋ฐ๋ก TDD๋ ์ด๋ ๋๋ผ๋ ์์ค.. 2022. 3. 22. [๊ฐ๋ฐ์ ์ฑ ์ฝ๊ธฐ] ํด๋ฆฐ ์ฝ๋-์ ์์ผ ์ํํธ์จ์ด ์ฅ์ธ ์ ์ (12์ฅ ์ฐฝ๋ฐ์ฑ) ํด๋น ๊ธ์ Robert C.Martin ํด๋ฆฐ ์ฝ๋ ๋ผ๋ ์ฑ ์ ์ฝ๊ณ ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌ ๋ฐ ํ๊ณ ํ๋ ๊ธ ์ ๋๋ค. ์์ธํ ์ฌํญ์ YES 24 ํด๋ฆฐ ์ฝ๋ - ์ ์์ผ ์ํํธ์จ์ด ์ฅ์ธ ์ ์ ์์ ํ์ธํด์ฃผ์ธ์. ํด๋ฆฐ ์ฝ๋ - ์ ์์ผ ์ํํธ์จ์ด ์ฅ์ธ ์ ์ (Uncle Bob) ์ํค๋ถ์ค ์ง์์ด: Robert C.Martin (Uncle Bob) ์ฎ๊ธด์ด: ๋ฐ์ฌํธ, ์ดํด์ ์ด๋ฒ ์ฅ์์ ์ด์ผ๊ธฐํ๊ณ ์ ํ๋ ๊ฒ ์ฐฝ๋ฐ (ๅต็ผ) ์ด๋ผ๊ณ ํจ์ ํ์ ๊ณ์ธต(๊ตฌ์ฑ ์์)์๋ ์๋ ํน์ฑ์ด๋ ํ๋์ด ์์ ๊ณ์ธต(์ ์ฒด ๊ตฌ์กฐ)์์ ์๋ฐ์ ์ผ๋ก ๋์ฐํ ์ถํํ๋ ํ์์ด๋ค. ์ด๋ฌํ ์ฐฝ๋ฐ์ฑ์ ์ด์งํ๋ ๋จ์ํ ์ค๊ณ ๊ท์น 4๊ฐ์ง๋ฅผ ์ด๋ฒ ์ฅ์์ ์ค๋ช ํ๊ณ ์๋ค. ๋ชจ๋ ํ ์คํธ๋ฅผ ์คํํ๋ผ ์ค๋ณต์ ์์ ๋ผ ํ๋ก๊ทธ๋๋จธ์ ์๋๋ฅผ ํํํ๋ผ ํด๋์ค์ ๋ฉ์๋ ์๋ฅผ ์ต์๋ก ํ๋ผ .. 2022. 3. 14. [๊ฐ๋ฐ์ ์ฑ ์ฝ๊ธฐ] Java๋ก ํด์ํ GoF ์ Design Pattern (์์ฑ - ๋น๋ ํจํด) ํด๋น ๊ธ์ Gang of Four์ ๋์์ธ ํจํด ์ด๋ผ๋ ์ฑ ์ ์ฝ๊ณ ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌ ๋ฐ ํ๊ณ ํ๋ ๊ธ ์ ๋๋ค. ์์ธํ ์ฌํญ์ YES 24 GoF์ ๋์์ธ ํจํด ์์ ํ์ธํด์ฃผ์ธ์. GoF ์ ๋์์ธ ํจํด - ์ฌ์ฌ์ฉ์ฑ์ ์ง๋ ๊ฐ์ฒด์งํฅ ์ํํธ์จ์ด์ ํต์ฌ ์์ ํ๋กํ ๋ฏธ๋์ด ์ง์์ด: ์๋ฆญ ๊ฐ๋ง, ์กด ๋ธ๋ฆฌ์ฌ์ด๋์ค, ๋ฆฌ์ฒ๋ ํฌ๋ฆ, ๋ํ ์กด์จ ์ฎ๊ธด์ด: ๊น์ ์ ๋ค์ ๊ธ์ ํจ๊ป ์ฝ์ผ๋ฉด ์ข์ต๋๋ค. ํด๋์ค ๋ค์ด์ด๊ทธ๋จ ์ดํดํ๊ธฐ Builder Pattern, ๋น๋ ํจํด ๋น๋ ํจํด์ ์์ฑ ํจํด์ค ํ๋๋ก, ๋ณต์กํ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๋จ๊ณ๋ณ๋ก ๋๋ ์ ์๋๋ก ๋์์ฃผ๋ ํจํด์ด๋ค. ๋น๋ ํจํด์ ํตํด์ ๋์ผํ ์ฝ๋๋ก ๋ค์ํ ์ฑ์ง์ ๋๋ ํ๋์ ๊ฐ์ฒด๋ฅผ ์์ฑํ ์ ์๋ค. ๋ณต์กํ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ๊ณผ ํํํ๋ ๋ฐฉ๋ฒ์ ์ ์ํ๋ ํด๋์ค๋ฅผ ๋ณ.. 2022. 3. 12. [๊ฐ๋ฐ์ ์ฑ ์ฝ๊ธฐ] ํด๋ฆฐ ์ฝ๋-์ ์์ผ ์ํํธ์จ์ด ์ฅ์ธ ์ ์ (11์ฅ ์์คํ ) ํด๋น ๊ธ์ Robert C.Martin ํด๋ฆฐ ์ฝ๋ ๋ผ๋ ์ฑ ์ ์ฝ๊ณ ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌ ๋ฐ ํ๊ณ ํ๋ ๊ธ ์ ๋๋ค. ์์ธํ ์ฌํญ์ YES 24 ํด๋ฆฐ ์ฝ๋ - ์ ์์ผ ์ํํธ์จ์ด ์ฅ์ธ ์ ์ ์์ ํ์ธํด์ฃผ์ธ์. ํด๋ฆฐ ์ฝ๋ - ์ ์์ผ ์ํํธ์จ์ด ์ฅ์ธ ์ ์ (Uncle Bob) ์ํค๋ถ์ค ์ง์์ด: Robert C.Martin (Uncle Bob) ์ฎ๊ธด์ด: ๋ฐ์ฌํธ, ์ดํด์ ์ด๋ฒ ์ฅ์์ ์ด์ผ๊ธฐํ๊ณ ์ ํ๋ ๊ฒ ๋์ ์ถ์ํ์ ์์ค, ์์คํ ์์ค์์๋ ๊นจ๋ํจ์ ์ ์งํ๋ ๋ฐฉ๋ฒ ์์คํ ์ ์ ์๊ณผ ์์คํ ์ฌ์ฉ์ ๋ถ๋ฆฌํ๋ผ (construction vs use) ์์ ๋จ๊ณ๋ ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ํ์ด์ผ ํ ๊ด์ฌ์ฌ ์ ํ์ ์ธ ์์๋ก๋ Lazy Initializing ๊ฐ์ฒด์ ์์ฑ๊ณผ ๋ฐํ์ ๋ก์ง์ด ์์ฌ์๋ค ์ฑ ์์ด ์ฌ๋ฌ๊ฐ๋ค ๊ด์ฌ์ฌ์ ๋ถ๋ฆฌ๊ฐ ๋์ง ์์.. 2022. 3. 8. [๊ฐ๋ฐ์ ์ฑ ์ฝ๊ธฐ] Java๋ก ํด์ํ GoF ์ Design Pattern (์์ฑ - ํฉํ ๋ฆฌ ๋ฉ์๋ ํจํด) ํด๋น ๊ธ์ Gang of Four์ ๋์์ธ ํจํด ์ด๋ผ๋ ์ฑ ์ ์ฝ๊ณ ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌ ๋ฐ ํ๊ณ ํ๋ ๊ธ ์ ๋๋ค. ์์ธํ ์ฌํญ์ YES 24 GoF์ ๋์์ธ ํจํด ์์ ํ์ธํด์ฃผ์ธ์. GoF ์ ๋์์ธ ํจํด - ์ฌ์ฌ์ฉ์ฑ์ ์ง๋ ๊ฐ์ฒด์งํฅ ์ํํธ์จ์ด์ ํต์ฌ ์์ ํ๋กํ ๋ฏธ๋์ด ์ง์์ด: ์๋ฆญ ๊ฐ๋ง, ์กด ๋ธ๋ฆฌ์ฌ์ด๋์ค, ๋ฆฌ์ฒ๋ ํฌ๋ฆ, ๋ํ ์กด์จ ์ฎ๊ธด์ด: ๊น์ ์ ๋ค์ ๊ธ์ ํจ๊ป ์ฝ์ผ๋ฉด ์ข์ต๋๋ค. ํด๋์ค ๋ค์ด์ด๊ทธ๋จ ์ดํดํ๊ธฐ ํฉํ ๋ฆฌ ๋ฉ์๋ ํจํด, Factory Method Pattern ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ธฐ ์ํด ์ธํฐํ์ด์ค๋ฅผ ์ ์ํ์ง๋ง, ์ด๋ค ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ์์ฑํ ์ง์ ๋ํ ๊ฒฐ์ ์ ์๋ธ ํด๋์ค๊ฐ ๋ด๋ฆฌ๋๋ก ํฉ๋๋ค. Factory Method ๋ ๋ค๋ฅธ ์ด๋ฆ์ผ๋ก Virtual Constructor ๋ผ๊ณ ๋ ํ๋ค. ๋๊ธฐ ์ฌ์ฉ์์๊ฒ ๋ค.. 2022. 3. 7. [๊ฐ๋ฐ์ ์ฑ ์ฝ๊ธฐ] ํด๋ฆฐ ์ฝ๋-์ ์์ผ ์ํํธ์จ์ด ์ฅ์ธ ์ ์ (10์ฅ ํด๋์ค) ํด๋น ๊ธ์ Robert C.Martin ํด๋ฆฐ ์ฝ๋ ๋ผ๋ ์ฑ ์ ์ฝ๊ณ ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌ ๋ฐ ํ๊ณ ํ๋ ๊ธ ์ ๋๋ค. ์์ธํ ์ฌํญ์ YES 24 ํด๋ฆฐ ์ฝ๋ - ์ ์์ผ ์ํํธ์จ์ด ์ฅ์ธ ์ ์ ์์ ํ์ธํด์ฃผ์ธ์. ํด๋ฆฐ ์ฝ๋ - ์ ์์ผ ์ํํธ์จ์ด ์ฅ์ธ ์ ์ (Uncle Bob) ์ํค๋ถ์ค ์ง์์ด: Robert C.Martin (Uncle Bob) ์ฎ๊ธด์ด: ๋ฐ์ฌํธ, ์ดํด์ ์ด๋ฒ ์ฅ์์ ์ด์ผ๊ธฐํ๊ณ ์ ํ๋ ๊ฒ ํด๋์ค ์ฒด๊ณ ์บก์ํ ๋ณ์๋ ์ ํธ๋ฆฌํฐ ํจ์๋ฅผ protected ๋ก ์ ์ธํ๋ค. ์บก์ํ๋ฅผ ํ์ด์ฃผ๋ ๊ฒ์ ์ธ์ ๋ ์ตํ์ ์๋จ์ด๋ค ํด๋์ค๋ ์์์ผ ํ๋ค ํด๋์ค๋ฅผ ๋ง๋ค ๋ ์ฒซ ๋ฒ์งธ ๊ท์น์ ํฌ๊ธฐ์ด๋ค. ํด๋์ค๋ ์์์ผ ํ๋ค. ํด๋์ค์ ์ด๋ฆ์ ํด๋น ํด๋์ค์ ์ฑ ์์ ๊ธฐ์ ํด์ผ ํ๋ค. ํด๋์ค ์ด๋ฆ์ ์๋ช ์ด์ผ๋ง๋ก ํด๋์ค๋ฅผ ์ค์ด๋ ์ฒซ๋ฒ์งธ ์ฒ๋์ด.. 2022. 3. 7. ์ด์ 1 2 3 4 5 6 ยทยทยท 30 ๋ค์