MVCデザインモデルとは?


こんにちは、ゼロです.🥳
ここでは、IOSの代表的なデザインモデルの一つであるMVCモデルについてまとめます.
設計パターンは「ソフトウェア開発手法の公式化」と簡単に言える.
デバッグには、いつか数十個の他のプロジェクトをクラスにロードする必要がありますが、エラーが発生した場合に見つけるのは難しいため、これらのモードを使用すると簡単になります.
MVC、MVP、MVVMなど...様々なデザインモデルがありますが、まずはAppleが推奨するMVCモデルです.

MVCモードとは?



参考写真
Model
View
Controller
→このように三つの開発モデルに分けられる.

MVCアーキテクチャとは?


MVC Patternはモデル<>コントローラ<>ビューを提供


Model : 1. 데이터에 관한 로직 (데이터 값 변경 및 관리)
				2. 비즈니스 로직 수행 (상태 변화 처리, 상태 정보 반환)
View: UI, 사용자에게 보여지는 화면 (데이터를 시각화)
Controller: Model과 View 연결 (데이터의 흐름을 제어)
View -> Controller -> Model -> Controller -> View
→コントローラが軸になり、モデルとビューを接続します.
(ビューとモデルは相互にアクセスできますが、MVCモードには該当しません.)

アクションの流れ


ユーザーがアプリケーションを実行した後に行動する場合、
  • ユーザは、必要な機能を処理するためにコントローラに要求を送信する.
  • コントローラはモデルを使用し、モデルは適切なビジネスロジックを実行します.
  • コントローラは、ユーザに表示するビューを選択する.
  • のビューを選択して、ユーザーに適した結果画面を表示します.
    このとき、ユーザに表示されたデータはコントローラを介して転送される.
  • のメリットを理解!
  • モデルはViewControlに依存します.モデルはビューコントローラを直接理解しないが、property observingを介してビューコントローラと通信する.

    ここで待って!Property Observer-Propertyの傍観者とは?


    propertyの傍観者は、propertyの値を変更するときに監視し、必要な操作を実行するのに役立つ「propertyモニター」とも呼ばれます.つまり、新しい値を設定するたびに、このイベントを検出する傍観者が提供されます.主に設計モードでモデルに更新された値をビューに表示するために使用されます.
    特長

  • 関数、メソッド、モジュール、タイプなどの外部領域およびグローバル変数で使用できます.

  • SWIFTは専門的で意志的な(getとsetに似ています.)

  • WiiSet→パラメータには変更する値が含まれています.

  • この値は、didSet→置換する前にパラメータに入ります.
  • struct PersonAgeData {
    	var age: Int? {
    		willSet {
    			print("\(self.age)에서 \(newValue)로 값이 바뀔 예정입니다.")
    		}
    		didSet {
    			print("\(oldValue)에서 \(self.age)로 값이 바뀌었습니다.")
    		}
    	}
    }
    
    //willSet 과 didSet은 일반적으로 어떤 속성의 값이 바뀌었을 때
    //UI를 업데이트하거나 특정 메서드를 호출하는 등의 역할을 할 때에 사용합니다.
    →willSetではnewValue、didSetではoldValueを使用します.
  • ファイバを使用するには、ファイバの値を初期化する必要があります.
  • コードを分離するために設計モードを使用している場合は、これらの利点がわかります.

    MVC Patternのメリットは次のとおりです。


  • 各素子のコード結合度を低減することができる.

  • コードの再利用性を向上させる.

  • 開発者間のコミュニケーション効率を向上させる.
  • MVC Patternの使用中によくあるエラー

  • モデルにおけるビューへのアクセスまたはロール
  • :コントローラ付きでビューにアクセスする必要がありますが、直接アクセスするとMVCモード規則に違反する場合があります.
  • ビューにおける値検証と異常処理
  • :ビューはユーザーインタフェースに関連付けられているだけで、ユーザーはビューを表示できますが、ハード値を処理すると、ロールが重複し、再利用できません.(データまたは論理を含めることはできません.)
  • ビューのビジネスロジック
  • :キャラクタが重なる原因は上記と似ています.ビューで演算したり、モデルの役割を果たしたりする場合は、コントローラがモデルにビューを関連付ける理由をもう一度理解する必要があります.
    ここまで簡単にMVCのデザインパターンをまとめてみました!
    まだ感じていないなら練習を続けることをお勧めします...
    じゃあまた今度ね~~~