Upgrade to Pro — share decks privately, control downloads, hide ads and more …

super.init(v6) - 아키텍처에서 고민되는 점들

Avatar for 이진욱 이진욱
March 17, 2025
410

super.init(v6) - 아키텍처에서 고민되는 점들

Avatar for 이진욱

이진욱

March 17, 2025

Transcript

  1. ރಽӝ 1. ௿ܽ ইఃఫ୊/ҳӖ ӂ੢ ইఃఫ୊੄ ର੉੼
 2. ҳӖ ӂ੢

    ইఃఫ୊ীࢲ ਤ߈ೞҊ ੓ח SOLID ߨ஗җ ೧Ѿ ߑߨ
  2. ׮ೣԋ ফӝ೧ࠁӝ 1. ҳӖ ӂ੢ ইఃఫ୊ীࢲ بݫੋ ۨ੉যܳ ҳഅ೮ਸ ٸ,

    
 UI ۨ੉যীࢲ بݫੋ ۨ੉যܳ Ѣ஖૑ ঋҊ ؘ੉ఠ ۨ੉যী ૒੽ ঘࣁझ ೞחѱ જਸө?
 2. ইఃఫ୊ܳ ਬ૑ࠁࣻೞӝ য۰਍ ੉ਬח ޖ঺ੌө?
 3. ঱ઁ ҳӖ ӂ੢ ইఃఫ୊ܳ ੸ਊೞҊ ঱ઁ ௿ܽ ইఃఫ୊ܳ ੸ਊ೧ঠೡө?
  3. ҕా ઱ઁ 1. ݽٕ ܻ࠙ח ѐߊ ࣘبܳ ֫ੌө, ইפݶ য়൤۰

    ࠂ੟بܳ ૐоदఆө?
 2. ইఃఫ୊ח ঱ઁա ؊ ӭՔೠ ௏٘ܳ ࠁ੢ೡө?
  4. ׮ೣԋ ফӝ೧ࠁӝ 1. Snackbar/Dialogܳ State/SideEffect۽ ୊ܻೠ ৘द ௏٘ a. (֤੄)

    ੢ױ੼, State/SideEffect ࢶఖ ӝળ 2. (ࢎ੹ ૕ޙ) MVIח જ਷ ইఃఫ୊ੋо?
  5. ҳӖ ӂ੢ ইఃఫ୊੄ بݫੋ ۨ੉য৬ ௿ܽ ইఃఫ୊੄ بݫੋ ۨ੉যח ࢲ۽

    ׮ܰ׮. ௿ܽ ইఃఫ୊ীࢲ੄ بݫੋ ۨ੉য - জ ഑਷ ࠺ૉפझо ׮ܖח ೨ब ѐ֛ (Car, Human ١) - ੉ ѐ֛ٜ р੄ ҙ҅ (Driver (ରܳ ਍੹ೞח ࢎۈ)) - ؘ੉ఠ ࣗझ ୶࢚ച (buyCar, hireDriver) - ੉ ୶࢚ചػ ѐ֛ٜਸ ഝਊೠ ೨ब ۽૒ (getCars + getHumans = makeTheRace) ҳӖ ӂ੢ ইఃఫ୊ীࢲ੄ بݫੋ ۨ੉য - بݫੋ ҅க਷ ࠂ੟ೠ ࠺ૉפझ ۽૒ਸ ஭ङചೞѢա, ৈ۞ ViewModelীࢲ ੤ࢎਊغח рױೠ ࠺ૉפझ ۽૒ਸ ׸ ׼ೠ׮. ੉ ҅க਷ ࢶఖ ࢎ೦੉ݴ, ݽٚ জ੉ ߈٘द ೙ਃ۽ ೞח Ѫ਷ ইפ׮. ࠂ੟ࢿਸ ҙܻೞѢա ੤ࢎਊࢿਸ ֫੉ ח Ѫ੉ ೙ਃೡ ٸ݅ ࢎਊೞח Ѫ੉ જ׮. ૊, ௿ܽ ইఃఫ୊ীࢲ੄ بݫੋ ۨ੉যо ؊ ௾ ৉ೡਸ ࣻ೯ೠ׮. ژೠ ҳӖ ӂ੢ ইఃఫ୊ח ࢶఖ੸੉׮. ੄ઓࢿ ߑೱীب ର੉о ੓׮.
  6. ௿ܽ ইఃఫ୊ীࢲ domain, core:model ݽٕਸ ٜ݅ ঻ਸ ٸ য࢝ೠ ੼਷

    ަө? -> ௿ܽ ইఃఫ୊ীࢲ੄ domain ݽٕ਷ ࠺ૉפझ ۽૒җ model(entity)੉ ೣԋ ઓ੤೧ঠೞ૑݅, model݅ ߹ب੄ ݽٕ۽ ܻ࠙ೞݶ ੿੘ domain ݽٕ੉ о૑ח ৉ೡ੉ ࠼ড೧૓׮. ҳӖ ӂ੢ ইఃఫ୊ীࢲ ਤ߈ೞҊ ੓ח SOLID ߨ஗җ ೧Ѿ ߑߨ ੄ઓҙ҅ ৉੹ ਗ஗ (Dependency inversion principle)ਸ ਤ߈ೞҊ ੓׮. (domain ݽٕ੉ ୶࢚ചী ੄ઓೞ૑ ঋ Ҋ ҳ୓ചী ੄ઓೞҊ ੓׮.) data ݽٕ৬ domain ݽٕ ࢎ੉ী data-api ݽٕਸ فয ೧Ѿೡ ࣻ ੓׮. Q. data-api ݽٕਸ ٜ݅যب ҳӖ ӂ੢ ইఃఫ୊۽ ࠅ ࣻ ੓ਸө? -> data, data-api ݽف data ۨ੉য۽ ࠅ ࣻ ੓ਵ޲۽ Ӓۧ׮.
  7. ঱ઁ ҳӖ ӂ੢ ইఃఫ୊ܳ ੸ਊೞҊ ঱ઁ ௿ܽ ইఃఫ୊ ܳ ੸ਊ೧ঠೡө?

    ҳӖ ӂ੢ ইఃఫ୊ ੸ਊ ӝળ - ױੌ ݽٕ জਸ ରӔ ରӔ ݽٕച ೞҊ रਸ ٸ - ׮ܲ ইఃఫ୊৬੄ ର੉੼੉ ઓ੤ೞӝ ٸޙী, ౱ ղࠗ੄ ࢎۈٜ੉ ҳӖ ӂ੢ ইఃఫ୊ ҙ۲೧ࢲ ੜ ঌҊ ੓ח ҃਋ ௿ܽ ইఃఫ୊ ੸ਊ ӝળ - ੉޷ ௿ܽ ইఃఫ୊о ੸ਊػ Flutter ١੄ জਸ উ٘۽੉٘ ֎੉౭࠳ জਵ۽ ݃੉Ӓۨ੉࣌ ೡ ٸ - iOS ೐۽ં౟ী ੉޷ ௿ܽ ইఃఫ୊о ੸ਊغয੓ח ҃਋ (iOS ѐߊ੗৬ ইఃఫ୊ ֤੄ܳ ೡ ࣻ ੓ѱ ؽ)
  8. Snackbar State/SideEffect ੢ױ੼, ࢶఖ ӝળ State۽ ҙܻೞח ҃਋ UIী ߈৔ؼ

    জ੄ ࢚కܳ ೠ Ҕী ݽইࢲ ҙܻೡ ࣻ ੓૑݅, Snackbar੄ ࢚కܳ ૒੽ ઁয೧ ঠೞӝ ٸޙী ࠺Ү੸ ߣѢ܂׮. ؀ࠗ࠙੄ Snackbar੄ ҃਋ ױࣽ൤ ೠߣ ֢୹غҊ ՘ա޲۽ SideEffect۽ ୊ܻೞחѱ જ׮. ೞ૑݅ Snackbar੄ ֢ ୹ ৈࠗо ׮ܲ ࢚కী ৔ೱਸ ઱ח ҃਋(৘: Snackbarо ࠁ੉ݶ ۽Ӓੋ ߡౡ੉ ࠺ഝࢿച ػ׮)ীח State۽ ୊ܻೞ חѱ જ׮. MVIח જ਷ ইఃఫ୊ੋо? MVIܳ ࢎਊೞѱ غݶ ࢚క ҙܻо एਕ૑Ҋ ؘ੉ఠ੄ ൒ܴ੉ औѱ ౵ঈغ૑݅, ݽٚ ੉߮౟ী ؀ೠ Intentܳ ੿੄೧ঠ ೞҊ Intentо ݆ই૕ ࣻ۾ ViewModel੉ ࠺؀೧૓׮. ٮۄࢲ, рױೠ ӝמী MVIܳ ੸ਊೞחѤ য়ߡূ૑פয݂੉׮.
  9. ௿ܽ ইఃఫ୊৬ ҳӖ ӂ੢ ইఃఫ୊੄ ର੉ܳ ୽࠙൤ ੉೧ೞ૑ ޅೞݶ ੜޅػ

    ইఃఫ୊ܳ ҳഅೡ ࣻ ੓ਵ ޲۽ ইఃఫ୊ܳ ਬ૑ࠁࣻೞӝ য۵ѱ ٜ݅ ࣻ ੓णפ׮. (৘: ௿ܽ ইఃఫ୊ীࢲ domain, core:modelਸ ܻ࠙ೞח ҃਋) ؀ࠗ࠙੄ ҃਋ Snackbarܳ SideEffect۽ ୊ܻೞ૑݅ Snackbarо ׮ܲ ࢚కী ৔ೱਸ ળ׮ݶ State۽ ҙܻೞח ѱ ؊ ա਷ ҃਋ب ੓ח ݅ఀ ࢚ടী ݏѱ ਬোೞѱ ੽Ӕೞחѱ જणפ׮. ޖઑѤ੸ਵ۽ જ׮Ҋ ঌ۰૓ ইఃఫ୊ա ߑߨਸ Ӓ؀۽ ٮܰӝࠁ׮ח ੸ਊೞ۰ח ࢚ടীࢲ ӒѪ੉ ੿݈ ୭ࢶੋ૑ ౸ױೞҊ ੸ਊೡ ࣻ ੓ח מ۱੉ ؊਌ ઺ਃ೤פ׮.