ホームページ >バックエンド開発 >PHPチュートリアル >YY インタビュー、MVC フレームワークの M 層を理解し、ガイダンスを求める

YY インタビュー、MVC フレームワークの M 層を理解し、ガイダンスを求める

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-23 13:46:51872ブラウズ

私の理解によれば、データを処理するために使用されるメソッドをクラスにカプセル化します。今後同じデータ処理に遭遇する場合、このクラスをM層に属し、データを処理します。

インタビュアーは私に尋ねました:
Web ページをクロールするには次の手順があります
1. URL に従って Web ページをクロールします
2. 正規表現を使用して HTML 要素を処理します
3. キャプチャしたコンテンツをデータベースに保存します

上記3 部門は M レベルのどの段階ですか?

3 つのステップすべてに当てはまると思います。
私の理解が間違っていたら、どこが間違っているか、教えてください〜
上記の 3 つのステップのいずれかが M 層ではない場合、それは MVC のどの層に属しますか? ?


ディスカッションへの返信 (解決策)

個人的には、パート 3 はレイヤー m に属すると思います

パート 3 でデータベース クエリが実行されたため、

最初のステップはレイヤー C に属する可能性があります。これはプロジェクトの定義によって異なります。

3 HTMLを呼び出すことができます

1はMのままで、2をベースにcurlキャプチャを追加するだけで、urlをパラメータとして使用します


1.2はビジネスロジック層に属し、3はデータ層

明らかに 3、はい データ操作

1 は制御層 3 はデータ処理層 これが私が理解する方法です

3 だけです、1 と 2 は制御層です

3 番目のステップ、m はデータ処理層、もちろんアプリケーション ロジックを m 層で記述することもできますが、非常に不規則です。

正しい mvc アーキテクチャでは、c 層ができるだけ少ないデータ ロジックを処理し、それを m に処理させる必要があります。そうしないと、mvc の最大の利点であるコードのモジュール化の利点が反映されません。

あくまで参考としてください!

MVC アーキテクチャの正確な定義はまったくありません。面接官は十分なスキルを持っていない可能性があり、または不可解である可能性があります。
V はユーザーの視点
C はビジネスの視点

M は機能の視点

本来、この 3 つは連携してあらゆる機能を完成させます。 Web ページをクロールする場合、リソースのリクエストは通常​​ M で記述されます。
HTML の正規表現解析では、C と M の両方を使用できます。 Mでメソッドを書いてCで呼び出す方が良い構造です。
多くのフレームワークでは、M はデータベースにアクセスするだけでよいため、データベース操作は M である必要があります。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:phpunit次の記事:phpunit