ADR (Architecture Decision Record)
ADR?
ADR์ Architecture Decision Record์ ์ฝ์
์ํคํ ์ฒ ๊ด๋ จ ๊ฒฐ์ ์ ๋ํด ๊ณผ์ ๋ฐ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋กํ ๋ฌธ์
์ ์ฌ์ฉ?
๋ณด๋ค ํฉ๋ฆฌ์ ์ธ ์ ํ์ ์ํด
๋ง์ฝ ADR์ ์ ์ฉํ์ง ์๊ณ ์์ฌ ๊ฒฐ์ ์ ๋ด๋ฆฐ๋ค๋ฉด, ์ผ๊ด๋์ง ์์ ์์ฌ ๊ฒฐ์ ์ ํ ์ ์์
ADR์ ์์ฑํ๋ฉฐ ์ ํ ์ด์ , ๊ฒฐ๊ณผ, ์ด์ ๋ํ ์ํฅ ๋ฑ ์ฌ๋ฌ ์์๋ฅผ ์์ฑํ๊ธฐ ๋๋ฌธ์ ๋์ฑ ํฉ๋ฆฌ์ ์ธ ์ ํ ๊ฐ๋ฅ
๋ฏธ๋์ ํ (๋๋ ํ์) ์ ์ํด
๋ฏธ๋์ ํ์์๊ฒ ์์ฌ ๊ฒฐ์ ์ ๋ํ ํ์คํ ๋ฆฌ๋ฅผ ์ ๊ณตํ ์ ์์
์ด๋ฅผ ํตํด ๋์ฑ ๋น ๋ฅด๊ฒ ์ ์ํ ์ ์์
๋ํ ๊ธฐ์กด ํ์ ์์ฌ ๊ฒฐ์ ๋ฐฉ์์ ๋ํด๋ ํ์ ํ ์ ์์ด ์ถํ ๋น์ทํ ๊ฒฐ๋ก ์์ฌ ๊ฒฐ์ ์ ๋ด๋ฆด ์ ์์
๊ตฌ์ฑ ์์
์ํ (Status)
๋งฅ๋ฝ (Context)
๊ฒฐ์ (Decision)
๊ฒฐ๊ณผ (Consequences)
ADR ์์ฑ ์์
์ฃผ์ : iOS ์ ํ๋ฆฌ์ผ์ด์ ํ๋ ์ ์ํฌ ์ ํ(UIKit vs. SwiftUI)
์ํ
์ ์
๋ฐฐ๊ฒฝ
์๋ก์ด ํ๋ก์ ํธ ์งํ ์ ์ ํํ ํ์๊ฐ ์์
์ ์ง ๋ณด์, ํ์ฅ ๊ฐ๋ฅ์ฑ ๋ฑ ์ถํ ํ๋ก์ ํธ ์งํ์ ๋ํด ๋ง์ ๋ถ๋ถ์ ๊ณ ๋ คํ์ฌ ์ ํํด์ผ ํจ
๊ฒฐ์
UIKit ์ ํ
๋ชจ๋ํ
SwiftUI๋ View์์ ๋ผ์ฐํ ๊ธฐ๋ฅ์ ํ๊ณ ์์
UIKit์ ๋ทฐ์ปจํธ๋กค๋ฌ(๋๋ ๋ด๋น๊ฒ์ด์ ์ปจํธ๋กค๋ฌ) ์ ๋ํ ๋ ํผ๋ฐ์ค๋ง ์๋ค๋ฉด ๋ผ์ฐํ ์ด ๊ฐ๋ฅ
์ด๋ฅผ ํตํด ์ธํฐํ์ด์ค/๊ตฌํ์ฒด ๊ตฌ์กฐ์ ๋ชจ๋ ๊ตฌ์ฑ์ด ๊ฐ๋ฅ
SwiftUI๋ ์ด๋ก ์ ๊ฐ๋ฅํ๋, ํ์ฌ ์ด์ ๋ํ best practice๊ฐ ์์
๋ณ๊ฒฝ์ด ์ ์
UIKit์ API๋ SwiftUI์ ๋นํด ์ค๋ ๊ธฐ๊ฐ ๊ฐ๋ฐ๋์์
๋ฐ๋ผ์ UIKit์ ๋ฒ์ ์ ๋ฐ๋ฅธ ๋ณํ๊ฐ ๋ง์ง ์์ง๋ง SwiftUI๋ ๋ณํ๊ฐ ์์
๊ฒฐ๊ณผ
(๊ธ์ ) UIKit์ ์ ํํ์ฌ ์์ (๋ณ๊ฒฝ์ด ์ ์)ํ๊ณ ํ์ ์ฑ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ด ๊ฐ๋ฅ
(๋ถ์ ) SwiftUI์ ๋นํด UI ์์ ์ ๋ง์ ์๊ฐ์ด ๊ฑธ๋ฆผ
Last updated