[Android]Android用MVCモード


🌈Android開発者の立場からMVCモデルを理解してみましょう.
MVCモード?
モデル、ビュー、コントローラの略.
コントローラは、ビューとモデルの構造を参照および制御します.
実際には、マスタードキュメントの多くの例で使用されるコードはMVCモードで組織されている.
Androidの開発を始めるとついついMVCモードに慣れてしまいます
Android開発者として面接をすると、アーキテクチャに関する質問が多く聞かれます
何が私たちをこんなに重視させているのかを理解してみましょう.
Model
  • データのオブジェクトを表します.
  • data class Person(var name: String, var age: Int)
    View
  • xmlファイル.
  • <Button
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="click"/>
    Controller
  • アクティブ/分割ファイル.
  • ビューおよびモデルを参照し、制御に必要な変数/関数を有する.
  • ユーザーの操作(ex.ボタンをクリック)に従って、ビュー(リフレッシュ、移動)とモデル(作成、変更、削除)を制御します.
  • class MainActivity : AppCompatActivity() {
    
        val binding by lazy { ActivityMainBinding.inflate(layoutInflater) } // 뷰 참조
        
        val Person = Person(var name: String, var age: Int) // 모델 참조
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(binding.root)
            
            binding.btn.setOnClickListener { // 버튼 입력을 받으면 뷰와 모델을 제어합니다.
                // ...
            }
        }
    }
    MVCモードのメリット
  • 逆弓から分離され、非常に識別しやすい.△これは一つのファイルに混入するよりも分かりやすい.
  • は小型プロジェクトに非常に適しています.(実装が容易で簡単です.)
  • ビューは
  • モデルから分離され、再利用可能です.(他のイベントでもPersonを使用できます.)
  • MVCモードの欠点
  • モデルとビューの依存性を完全に解消できません.
    ->モデルの値が変更されると、開発者は特定のビューを更新するために一つ一つ処理する必要があります.
  • は論理を複雑にするため、メンテナンスが困難である.
  • コードは
  • コントローラに集中的に積み重ねられ、認識がますます難しくなっている.
  • これらの問題があるため、実際の会社はJetPackのMVVMモデルを使用するようにプロジェクトを構成しています.
    初期段階では、MVCモードでコードを書く必要はありませんが、Android開発者になるには、MVVMモードとJetPackを学ぶ必要があります.
    次に、MVVMモードを特定します.
    🎨Img

    📖ソース:スペースの記事