ホームページ >バックエンド開発 >PHPチュートリアル >YY口頭試験、MVCフレームワークのM層の理解、指導をお願いします
YY インタビュー、MVC フレームワークの M 層について理解してください。ガイドしてください
私の理解によれば、データを処理するために使用されるメソッドをクラスにカプセル化します。今後同じデータ処理に遭遇するときは、このクラスを呼び出します。 、このクラスは M 層に属し、データを処理します。
面接官は私に次のように尋ねました:
Web ページをクロールするには何ステップ必要ですか
1. URL に基づいて Web ページをクロールします
2. 正規表現を使用して HTML 要素を処理します
3 . Grab 取得したコンテンツはデータベースに保存されます
上記の 3 つのステップのうち、M レベルにあるのはどれですか?
この 3 つのステップはすべて該当すると思います。
私の理解が間違っていたら、どこが間違っているのか教えてください~
上記の 3 つのステップのいずれかが M 層ではない場合、それは MVC のどの層に属しますか? ?
-----ソリューションのアイデア----------------------
1 は制御層です3 これはデータ処理層です。
-----ソリューションのアイデア----------------------
3 番目のステップでは、m はデータ処理層です。もちろん、アプリケーション ロジックを m 層に記述することもできますが、これは非常に不規則です。
正しい mvc アーキテクチャでは、c 層ができるだけ少ないデータ ロジックを処理し、それを m に処理させる必要があります。そうしないと、mvc の最大の利点であるコードのモジュール化の利点が反映されません。
あくまで参考としてください。
------ソリューションのアイデア----------------------
MVC アーキテクチャはまったく正確に定義されていません. 面接官の能力が十分ではないか、意味不明な態度を取っている可能性があります。
Vはユーザーの視点
Cはビジネスの視点
Mは機能の視点
本来この3つは連携してどんな機能も完成させます。 Web ページをクロールする場合、リソースのリクエストは通常 M で記述されます。
HTML の正規表現解析では、C と M の両方を使用できます。 Mでメソッドを書いてCで呼び出す方が良い構造です。
多くのフレームワークでは、M はデータベースにアクセスするだけでよいため、データベース操作は M である必要があります。