ADR (Architecture Decision Record)

ADR?

  • ADR์€ Architecture Decision Record์˜ ์•ฝ์ž

  • ์•„ํ‚คํ…์ฒ˜ ๊ด€๋ จ ๊ฒฐ์ •์— ๋Œ€ํ•ด ๊ณผ์ • ๋ฐ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋กํ•œ ๋ฌธ์„œ

์™œ ์‚ฌ์šฉ?

  • ๋ณด๋‹ค ํ•ฉ๋ฆฌ์ ์ธ ์„ ํƒ์„ ์œ„ํ•ด

    • ๋งŒ์•ฝ ADR์„ ์ ์šฉํ•˜์ง€ ์•Š๊ณ  ์˜์‚ฌ ๊ฒฐ์ •์„ ๋‚ด๋ฆฐ๋‹ค๋ฉด, ์ผ๊ด€๋˜์ง€ ์•Š์€ ์˜์‚ฌ ๊ฒฐ์ •์„ ํ•  ์ˆ˜ ์žˆ์Œ

    • ADR์„ ์ž‘์„ฑํ•˜๋ฉฐ ์„ ํƒ ์ด์œ , ๊ฒฐ๊ณผ, ์ด์— ๋Œ€ํ•œ ์˜ํ–ฅ ๋“ฑ ์—ฌ๋Ÿฌ ์š”์†Œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋”์šฑ ํ•ฉ๋ฆฌ์ ์ธ ์„ ํƒ ๊ฐ€๋Šฅ

  • ๋ฏธ๋ž˜์˜ ํŒ€ (๋˜๋Š” ํŒ€์›) ์„ ์œ„ํ•ด

    • ๋ฏธ๋ž˜์˜ ํŒ€์›์—๊ฒŒ ์˜์‚ฌ ๊ฒฐ์ •์— ๋Œ€ํ•œ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Œ

    • ์ด๋ฅผ ํ†ตํ•ด ๋”์šฑ ๋น ๋ฅด๊ฒŒ ์ ์‘ํ•  ์ˆ˜ ์žˆ์Œ

    • ๋˜ํ•œ ๊ธฐ์กด ํŒ€์˜ ์˜์‚ฌ ๊ฒฐ์ • ๋ฐฉ์‹์— ๋Œ€ํ•ด๋„ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์–ด ์ถ”ํ›„ ๋น„์Šทํ•œ ๊ฒฐ๋กœ ์˜์‚ฌ ๊ฒฐ์ •์„ ๋‚ด๋ฆด ์ˆ˜ ์žˆ์Œ

๊ตฌ์„ฑ ์š”์†Œ

  1. ์ƒํƒœ (Status)

  2. ๋งฅ๋ฝ (Context)

  3. ๊ฒฐ์ • (Decision)

  4. ๊ฒฐ๊ณผ (Consequences)

ADR ์ž‘์„ฑ ์˜ˆ์‹œ

์ฃผ์ œ: iOS ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋ ˆ์ž„ ์›Œํฌ ์„ ํƒ(UIKit vs. SwiftUI)

์ƒํƒœ

  • ์ œ์•ˆ

๋ฐฐ๊ฒฝ

  • ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ์‹œ ์„ ํƒํ•  ํ•„์š”๊ฐ€ ์žˆ์Œ

  • ์œ ์ง€ ๋ณด์ˆ˜, ํ™•์žฅ ๊ฐ€๋Šฅ์„ฑ ๋“ฑ ์ถ”ํ›„ ํ”„๋กœ์ ํŠธ ์ง„ํ–‰์— ๋Œ€ํ•ด ๋งŽ์€ ๋ถ€๋ถ„์„ ๊ณ ๋ คํ•˜์—ฌ ์„ ํƒํ•ด์•ผ ํ•จ

๊ฒฐ์ •

UIKit ์„ ํƒ

  • ๋ชจ๋“ˆํ™”

    • SwiftUI๋Š” View์—์„œ ๋ผ์šฐํŒ… ๊ธฐ๋Šฅ์„ ํ•˜๊ณ  ์žˆ์Œ

    • UIKit์€ ๋ทฐ์ปจํŠธ๋กค๋Ÿฌ(๋˜๋Š” ๋‚ด๋น„๊ฒŒ์ด์…˜ ์ปจํŠธ๋กค๋Ÿฌ) ์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค๋งŒ ์žˆ๋‹ค๋ฉด ๋ผ์šฐํŒ…์ด ๊ฐ€๋Šฅ

    • ์ด๋ฅผ ํ†ตํ•ด ์ธํ„ฐํŽ˜์ด์Šค/๊ตฌํ˜„์ฒด ๊ตฌ์กฐ์˜ ๋ชจ๋“ˆ ๊ตฌ์„ฑ์ด ๊ฐ€๋Šฅ

    • SwiftUI๋„ ์ด๋ก ์ƒ ๊ฐ€๋Šฅํ•˜๋‚˜, ํ˜„์žฌ ์ด์— ๋Œ€ํ•œ best practice๊ฐ€ ์—†์Œ

  • ๋ณ€๊ฒฝ์ด ์ ์Œ

    • UIKit์˜ API๋Š” SwiftUI์— ๋น„ํ•ด ์˜ค๋žœ ๊ธฐ๊ฐ„ ๊ฐœ๋ฐœ๋˜์—ˆ์Œ

    • ๋”ฐ๋ผ์„œ UIKit์€ ๋ฒ„์ „์— ๋”ฐ๋ฅธ ๋ณ€ํ™”๊ฐ€ ๋งŽ์ง€ ์•Š์ง€๋งŒ SwiftUI๋Š” ๋ณ€ํ™”๊ฐ€ ์žˆ์Œ

๊ฒฐ๊ณผ

  • (๊ธ์ •) UIKit์„ ์„ ํƒํ•˜์—ฌ ์•ˆ์ „(๋ณ€๊ฒฝ์ด ์ ์Œ)ํ•˜๊ณ  ํ™•์ •์„ฑ ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅ

  • (๋ถ€์ •) SwiftUI์— ๋น„ํ•ด UI ์ž‘์—… ์‹œ ๋งŽ์€ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆผ

Last updated