μλ νμΈμ.
μ΄λ² .NET L!VE 2023 Spring
μμ λ λ²μ§Έ μΈμ
μΈ CommunityToolkit.Mvvm μ΄ν΄λ³΄κΈ°
λ°νλ₯Ό μ§νν μ λνμ
λλ€.
μ μκ²λ μ΄λ² .NET L!VEκ° μ²« 컨νΌλ°μ€ μ°Έμ¬μλλ°μ. μ΄μ¬μ λκ»μ μ§ννμλ WPF μ€ν°λ μΈμ κ°λ°μλΆλ€κ³Όμ κ΅λ₯ κ²½νμ΄ μμλ ν°λΌ κΈ΄μ₯ λ° μ€λ λ°μΌλ‘ μ°Έμ¬νλλ° μ λλ¦λλ‘λ μ’μ κ²½νλ μ»κ³ κ΅μ₯ν λ»κΉμ μκ°μ΄ λμμ΅λλ€. (κ°μ .NET κ°λ°μλΆλ€μ΄μ΄μ λ μ’μλ κ² κ°μμ)
μΈμ λ°νμλ‘μλ λΆμ‘±ν μ μ΄ λ§μλ κ² κ°μμ λ§μ΄ λΆλλ½κΈ°λ νκ³ μμ½κΈ°λ ν©λλ€. μ κ° μ€λΉλ₯Ό μ’ λ μ ν΄μλ€λ©΄ μ‘°κΈμ΄λΌλ λ 맀λλ½κ² μ§νν μ μμμ κ² κ°μλ° μ‘ꡬμ€λ¬μΈ λΏμ λλ€.
λ°ν λ ν‘μ€μμ€νλλΌ CommunityToolkit.Mvvm ν¨ν€μ§μ 맀λ ₯μ μ€λ‘―μ΄ μ νμ§λ λͺ»ν κ² κ°μ΅λλ€.
CommunityToolkit.Mvvmμ μ ꡬ쑰νλ νλ μμν¬λ₯Ό μ 곡νκ±°λ UI νλ μμν¬(WPF, WinUI 3, MAUI λ±)μ μνΈμμ©νλ 맀λ ₯μ μΈ κΈ°λ₯μ μ 곡νμ§λ μμ΅λλ€. κ°λ Ή νν DialogServiceλ‘ λͺ λͺ λλ λͺ¨λ¬ νμ κΈ°λ₯μ΄λΌλ μ§, Navigation κ°μ κΈ°λ₯μ ν¬ν¨λμ΄ μμ§ μμ΅λλ€.
κ·Έλ¬λ MVVM ν¨ν΄μ μ μ©νλ€λ©΄ λ°λμ ꡬνμ΄ νμν νμ κ΅¬μ± μμλ₯Ό κ°νΈνκ² μ 곡νλ©°, λ€μν μλ리μ€μμ λΆλ΄μμ΄ μ±νν λ§ν MVVM λΌμ΄λΈλ¬λ¦¬μ λλ€. νΉμ ν UI νλ μμν¬μ μ’ μλμ§ μκΈ° λλ¬Έμ μ€νλ € μ΄λ UI νλ μμν¬μμλ λμΌνκ² μ¬μ©ν μ μμΌλ©°, λ€λ₯Έ νλ μμν¬ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νκ±°λ λ°λ³΅ μ½λλ₯Ό μ€μ΄κΈ° μν λͺ©μ μΌλ‘ μΌλΆμλ§ CommunityToolkit.Mvvmμ μ¬μ©ν΄λ λ λ§νΌ μ μ°ν©λλ€. νΉμ±μ μ΄μ©ν μ½λ μμ± λ± λ§μ΄κ·Έλ μ΄μ μ μΌλμ λ λΆλΆλ μμ΄μ CommunityToolkit.Mvvm ν¨ν€μ§λ₯Ό μ¬μ©νμ§ μκ³ κ°λ°λ κΈ°μ‘΄ νλ‘μ νΈμμ λ§μ΄κ·Έλ μ΄μ νλ κ²λ λΆλ΄μ΄ λν©λλ€.
μμ€ μμ±κΈ°λ MVVM ν¨ν΄μ μ μ©νκΈ° μν΄ νμν κ° λ³κ²½ μλ¦Όμ΄λ 컀맨λλ₯Ό μμ±νλλ° νμν μΆκ° μ½λμ μμ±μ μ€μ΄κ³ κ°λ
μ±κ³Ό μ μ§λ³΄μμ±μ ν₯μμν€λλ° λμμ΄ λ μ μμ΅λλ€. λ§κ²λ 10κ°μ λ¬νλ νΉμ±μ΄ λμ§λμ§ λΆμ νλμ λν κ±°λΆκ°μ΄ μλ€λ©΄μ!
CommunityToolkit.Mvvm ν¨ν€μ§λ MVVM ν¨ν΄μ λͺ¨λ₯΄λ μν©μμ μ΅μ μ κ²°κ³Όλ¬Όμ λ§λ€μ΄ μ£Όμ§λ μμ§λ§, μ΄λ―Έ μΌμ μμ€ μ΄μμ MVVM ν¨ν΄ μ΄ν΄λκ° λ·λ°μΉ¨λλ€λ©΄ κ·Ήνμ νΈλ¦¬ν¨κ³Ό μ μ°μ±μ μ»μ μ μλ λΌμ΄λΈλ¬λ¦¬λΌκ³ μκ°ν©λλ€.
CommunityToolkit.Mvvm ν¨ν€μ§μ κΈ°λ₯μ λν μμΈν μ€λͺ μ MSDNμ΄λ μ κ° μμ μ μμ±ν Slogλ₯Ό μ°Έκ³ ν΄ μ£ΌμΈμ.
λ°ν λ μ΄μ©νλ €λ€ μκ° κ΄κ³μ μΌλΆλ§ μ§κ³ λμ΄κ° μν νλ‘μ νΈμ μμ€ μ½λλ μ λ ν¬μ§ν 리μμ νμΈνμ€ μ μμ΅λλ€. ν¨ν€μ§μ ν¬ν¨λ κΈ°λ₯μ μ΄ν΄λ₯Ό λκΈ° μν΄ νΌλ§ λμΆ© ꡬνλμ΄ μλ κ² λ§κΈ° λλ¬Έμ νλ‘μ νΈμ μ 체μ μΈ μμ±λ 보λ€λ κ°κ°μ κ°μ²΄μμ CommunityToolkit.Mvvmμ κΈ°λ₯μ΄ μ΄λ€ μμΌλ‘ νμ©λκ³ μλμ§λ₯Ό μμ£Όλ‘ λ΄μ£Όμλ©΄ μ’μ κ² κ°μμ.
νμ¬ μ€λΉν΄ μ£Όμ νΈμ€νΈ λΆλ€μ λΉλ‘―ν λ·λ·λ°λΈ μ΄μμ§ λΆλ€κ³Ό, μ’μ λ΄μ©μ μ ν΄ μ£Όμ λ°νμ λΆλ€κ» κ°μ¬λ립λλ€. μ λΆμ‘±ν λ°νλ₯Ό λ€μ΄ μ£Όμ μ°Έμ¬μ λΆλ€κ»λ κ°μ¬νλ€λ λ§μ κΌ λλ¦¬κ³ μΆμ΅λλ€.
μμΌλ‘λ .NET κ°λ°μ κ° κ΅λ₯μ μ₯μ΄ λμ± νμ±νλλ©΄ μ’κ² λ€μ