ํฐ์คํ ๋ฆฌ ๋ทฐ
๋ฐ์ํ
โ ์ํํธ์จ์ด ์ํคํ ์ฒ๋?
์ํํธ์จ์ด ์์คํ ์ ๊ตฌ์ฑํ๋ ์ปดํฌ๋ํธ๋ค, ๊ทธ๋ค์ ๊ด๊ณ, ์ํธ์์ฉ ๋ฐฉ์, ๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ ์ง๋ฐฐํ๋ ์์น๋ค์ ์ ์ํ ๊ฒ.
- ๋ฌด์์ด ์ด๋์ ์์นํ๊ณ
- ๋ฌด์์ด ๋ฌด์๊ณผ ์ฐ๊ฒฐ๋์ด ์์ผ๋ฉฐ
- ์ด๋ป๊ฒ ํต์ ํ๊ณ ํ๋ ฅํ๋ฉฐ
- ๋ณํ์ ์ด๋ป๊ฒ ๋์ํ ์ ์๋์ง ๋ฅผ ์ค๊ณ
โ ์ ์ค์ํ๊ฐ?
- ํ์ฅ์ฑ: ํธ๋ํฝ์ด ๋์ด๋ ์ ๋ฒํธ ์ ์๋๋ก
- ์ ์ง๋ณด์์ฑ: ์์ /์ถ๊ฐ๊ฐ ์ฌ์์ผ ํ๊ณ
- ์ฌ์ฌ์ฉ์ฑ: ์ค๋ณต ์๋ ์ฝ๋ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค๊ธฐ ์ํด
- ๋ฐฐํฌ ์ ์ฐ์ฑ: ๋ถ๋ถ ๋ฐฐํฌ, ๋กค๋ฐฑ ๋ฑ์ด ๊ฐ๋ฅํ๋๋ก
- ์ดํด๋: ํ์ ๋๊ตฌ๋ ์์คํ ์ ์ฝ๊ฒ ์ดํดํ๊ณ ๋์์ํฌ ์ ์์ด์ผ ํจ
โ ํต์ฌ ๊ตฌ์ฑ ์์
์์ | ์ค๋ช |
์ปดํฌ๋ํธ(Component) | ๋ ๋ฆฝ์ ์ธ ๊ธฐ๋ฅ ๋จ์ (ex. ์ฌ์ฉ์ ์๋น์ค, ๊ฒฐ์ ์๋น์ค ๋ฑ) |
๋ชจ๋(Module) | ์ปดํฌ๋ํธ๋ฅผ ๊ตฌ์ฑํ๋ ์ฝ๋ ๋ฌถ์ (ex. ๋๋ฉ์ธ, ์ ํ๋ฆฌ์ผ์ด์ ๋ฑ) |
์ธํฐํ์ด์ค(Interface) | ์ปดํฌ๋ํธ ๊ฐ ํต์ ๋ฐฉ๋ฒ (ex. REST API, ๋ฉ์์ง ํ) |
๋ฐ์ดํฐ ํ๋ฆ(Data Flow) | ๋ฐ์ดํฐ๊ฐ ์์คํ ์์์ ์ด๋ป๊ฒ ์ด๋ํ๊ณ ์ฒ๋ฆฌ๋๋์ง |
๊ตฌ์ฑ(Configuration) | ์ธ๋ถ ์์คํ , ์ค์ ๊ฐ, ๋ฐฐํฌ ์ ๋ต ๋ฑ |
โ ๋ํ์ ์ธ ์ํคํ ์ฒ ์คํ์ผ
์ํคํ ์ฒ ์คํ์ผ | ํน์ง |
Monolithic | ํ๋์ ํฐ ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ๊ตฌ์ฑ, ๋ฐฐํฌ๊ฐ ์ฝ์ง๋ง ํ์ฅ์ฑ์ด ๋ฎ์ |
Layered (๊ณ์ธตํ) | ํ๋ ์ ํ ์ด์ , ์๋น์ค, ๋๋ฉ์ธ, ์ธํ๋ผ ๋ฑ์ผ๋ก ๋๋๋ ์ ํต์ ๊ตฌ์กฐ |
Hexagonal (Ports & Adapters) | ์์กด์ฑ ๋ฐฉํฅ์ ๋๋ฉ์ธ ์ค์ฌ์ผ๋ก ์ญ์ ์์ผ ์ ์ฐ์ฑ๊ณผ ํ ์คํธ ์ฉ์ด์ฑ ํ๋ณด |
Microservices (MSA) | ์์ ์๋น์ค ๋จ์๋ก ๋ถ๋ฆฌ, ๋ ๋ฆฝ ๋ฐฐํฌ ๊ฐ๋ฅ, ๋ณต์ก๋์ ์ด์ ๋น์ฉ ์ฆ๊ฐ |
Event-driven | ์ด๋ฒคํธ ์ค์ฌ, ๋น๋๊ธฐ ๋ฉ์์ง ๊ธฐ๋ฐ์ผ๋ก ๋์จํ ๊ฒฐํฉ ๊ตฌํ |
โ ์ข์ ์ํํธ์จ์ด ์ํคํ ์ฒ์ ํน์ง
- SOLID ์์น์ ์ ๋ฐ์
- ์์กด์ฑ ๋ฐฉํฅ์ด ๋ช ํ
- ๋๋ฉ์ธ๊ณผ ๊ธฐ์ ์ ๋ถ๋ฆฌ
- ํ ์คํธ ๊ฐ๋ฅ์ฑ๊ณผ ํ์ฅ์ฑ
- ๋น์ฆ๋์ค ์๊ตฌ ๋ณํ์ ์ ์ฐํ๊ฒ ๋์
๊ณต์ง์ฌํญ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ
- Total
- Today
- Yesterday
๋งํฌ
TAG
- git gmail
- ๊ฐ์ฒด์งํฅ์ค๊ณ solid
- ๋์์ธํจํด ์ฅ๋จ์
- ๊ฐ์ฒด ์งํฅ ์ค๊ณ ์์น
- git name
- ๋์์ธํจํด ๋จ์
- git user.gmail
- ๋งฅ ์ฑ ์ถ์ฒ
- ๋งฅ๋ฆฐ์ด ์ฑ ์ถ์ฒ
- ๋์์ธํจํด ์ฅ์
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
๊ธ ๋ณด๊ดํจ