FSD
2025๋ 6์ 17์ผ
ย
1. FSD๋
๊ธฐ๋ฅ ์ค์ฌ์ผ๋ก ์ฝ๋๋ฅผ ๊ตฌ์ฑํ๋ ํด๋ ๊ตฌ์กฐ ์ ๋ต
๊ธฐ๋ฅ ์ค์ฌ์ผ๋ก ๋๋์ด ๋ชจ๋ํํ๊ณ , ๊ฐ ๊ธฐ๋ฅ์ ๋ ๋ฆฝ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ๋ฐฉ์
๋๊ท๋ชจ ํ๋ก ํธ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฝ๋์ ์ ์ง๋ณด์์ฑ๊ณผ ์ฌ์ฌ์ฉ์ฑ์ ๋์ด๊ธฐ ์ํด ์ฌ์ฉ
FSD ์ํคํ ์ฒ๋ ๊ฐ ๊ธฐ๋ฅ์ ๋ ๋ฆฝ์ ์ธ ๋๋ฉ์ธ์ผ๋ก ๋ถ๋ฆฌํ์ฌ ๊ฐ๋ฐํ ์ ์๋๋ก ํ๊ณ , ์ฝ๋์ ๋ณต์ก๋๋ฅผ ์ค์ด๋ฉฐ, ํ ํ์ ์ ๊ฐ์ ํ๋ ๋ฐ ๋ชฉ์ ์ด ์๋ค.
ย
ย
FSD ๊ธฐ๋ณธ ๊ฐ๋
FSD๋ ๊ธฐ๋ฅ ์ค์ฌ(Feature-Oriented) ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ค. ์ด๋ฅผ ํตํด ํ๋ก์ ํธ๊ฐ ์ ์ง์ ์ผ๋ก ์ฑ์ฅํ๋ฉด์๋ ์ ์ง๋ณด์๊ฐ ์ฉ์ดํ๊ฒ ์ค๊ณ๋๋ค. FSD ์ํคํ ์ฒ์ ๊ธฐ๋ณธ ์์น์ ๋ค์๊ณผ ๊ฐ๋ค.
- ๊ธฐ๋ฅ ๊ธฐ๋ฐ ๋ถํ : ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ธฐ๋ฅ๋ณ๋ก ๋๋์ด ๊ฐ ๊ธฐ๋ฅ์ ๋ ๋ฆฝ์ ์ธ ๋ชจ๋๋ก ๊ด๋ฆฌํ๋ฉฐ, ๊ธฐ๋ฅ์ ์์คํ ์์ ํน์ ํ ๋น์ฆ๋์ค ๋ก์ง์ด๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ ํ ๋ถ๋ถ์ ๋ด๋นํ๋ค.
- ๋ ์ด์ด๋ง: ๊ธฐ๋ฅ์ ๋ ์ด์ด๋ก ๋๋์ด ์ฑ ์์ ๋ถ๋ฆฌํ๋ค. ์ผ๋ฐ์ ์ผ๋ก Presentation, Domain, Data ๋ ์ด์ด๋ก ๊ตฌ์ฑ๋๋ฉฐ, ์ด๋ ๊ธฐ๋ฅ์ ๋ฐ๋ผ ๊ตฌ์ฒดํ๋๋ค.
- ํด๋ ๊ตฌ์กฐ: ๊ธฐ๋ฅ๋ณ๋ก ํด๋ ๊ตฌ์กฐ๋ฅผ ๊ตฌ์ฑํ์ฌ ์ฝ๋์ ๊ฐ๋ ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ๋์ด๋ฉฐ, ๊ฐ ํด๋๋ ๊ทธ ๊ธฐ๋ฅ๊ณผ ๊ด๋ จ๋ ๋ชจ๋ ๊ฒ์ ํฌํจํ๋ค.
- ์ฌ์ฌ์ฉ์ฑ: ๊ณตํต ๊ธฐ๋ฅ์ด๋ ์ ํธ๋ฆฌํฐ๋ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ๋๋ก Shared ๋ ์ด์ด์ ๋ฐฐ์นํ๋ค. ์ด๋ฅผ ํตํด ์ค๋ณต ์ฝ๋๋ฅผ ์ค์ด๊ณ ์ผ๊ด์ฑ์ ์ ์งํ๋ค.
ย
ย
์ธ๋ถ๊ตฌ์กฐ
- Layers (๋ ์ด์ด): ํ๋ก์ ํธ์ ๋ ผ๋ฆฌ์ ๋จ์์ด๋ฉฐ, ๊ฐ ๋ ์ด์ด๋ ํน์ ์ญํ ์ ๋ด๋นํ๋ค. ์ด๋ ๋ค๋ฅธ ๋ ์ด์ด์ ์์กดํ๊ฑฐ๋ ์ํฅ์ ๋ฏธ์น ์ ์๋ค.
- Slices (์ฌ๋ผ์ด์ค): ๊ธฐ๋ฅ๋ณ๋ก ๋๋ ๋ชจ๋๋ค์ ์๋ฏธํ๋ค. ์ฌ์ง์ฒ๋ผ, User, Post, Comment๋ฑ์ ์ฌ๋ผ์ด์ค๊ฐ ์์ ์ ์๋ค.
- Segments (์ธ๊ทธ๋จผํธ): ๊ฐ ์ฌ๋ผ์ด์ค ๋ด์์ ๊ธฐ๋ฅ์ ๋ ์ธ๋ถํํ ๋จ์์ด๋ค. ์ผ๋ฐ์ ์ผ๋ก UI, Model, API๋ก ๊ตฌ๋ถ๋๋ค.
ย
ย
๊ธฐ๋ณธ ๊ตฌ์กฐ
- App: ํ๋ก์ ํธ์ ์ต์์ ๊ณ์ธต์ผ๋ก, shared, entities, features, widgets, pages๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ๋ค๋ฅธ ๊ณ์ธต์ ์์กดํ์ง ์๋๋ค.
- Processes: ๋์ด์ ์ฌ์ฉํ์ง ์์
- Pages: ๊ฐ๋ณ ํ์ด์ง์ ๊ตฌํ์ ๋ด๋นํ๋ฉฐ, app ๊ณ์ธต์ ์์กดํ๋ค.
- Widgets: ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ UI ๊ตฌ์ฑ ์์๋ฅผ ํฌํจํ๋ฉฐ, pages, app ๊ณ์ธต์ ์ฌ์ฉ๋ ์ ์๋ค.
- Features: ํน์ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ๊ฒ์ ํฌํจํ๋ฉฐ, widgets, pages ,ย appย ๊ณ์ธต์์ ์ฌ์ฉ๋๋ค.
- Entities: ๋๋ฉ์ธ ๋ชจ๋ธ๊ณผ ๊ด๋ จ๋ ๋ชจ๋ ๊ฒ์ ํฌํจํ๋ฉฐ, ์์ ๋ชจ๋ ๊ณ์ธต์์ ์ฌ์ฉ๋ ์ ์๋ค.
- Shared: ๋ชจ๋ ๊ณ์ธต์์ ์ฌ์ฉ๋ ์ ์๋ ์ ํธ๋ฆฌํฐ์ ๊ณตํต ์ปดํฌ๋ํธ๋ค์ ํฌํจํ๋ค.
ย
ย
FSD๋ ์ธ์ ์ ์ฉํด์ผ ํ ๊น
์ด์๊ธฐ๊ฐ์ด ์งง๊ฑฐ๋ ์์ ๊ท๋ชจ์ ํ๋ก์ ํธ๋ผ๋ฉด ์ ์ฉํ ํ์๊ฐ ์์ผ๋ ์ ์ง์ ์ผ๋ก ๊ท๋ชจ๊ฐ ์ปค์ง ์์ ์ด๋ผ๋ฉด FSD ๋ฐฉ์์ ์ฑํํ๋๊ฑธ ๊ณ ๋ คํด๋ด์ผํ๋ค.