Web開発にMVCパターンを使用しています。私は codeIgniter フレームワークを使用しています。http://fuelphp.com/とhttp://kohanaframework.org/を見つけました。これらは HMVC を使用しています。HMVC についてはまだ明確ではなく、なぜ MVC の代わりに HMVC を使用する必要があるのでしょうか? HMVC パターンを読んだ後、混乱していますが、MVC とそれほど違いはありません。Web アプリケーション開発に HMVC を使用する理由を説明できますか?
2 に答える
HMVC は、MVC ができることなら何でもできます。
MVC で苦労したり苦労したりすることの 1 つは、別のコントローラーからコントローラーを呼び出すことができないことです (カスタム ライブラリまたはヘルパーを使用しない限り)。
HMVC (Hierarchical Model View Controller) でそれを行うことができます。ここですべての品質を合計します。
- コードを他のプロジェクトで再利用する
- プロジェクトの維持を簡素化
- プロジェクトをスケーリングする
- コードを整理する
- モジュール構造
HMVCを試した後、MVCに戻ることはありません。より明確にするための写真を次に示します
CodeIgniter の場合、「Modular Extensions - HMVC」を使用します
Modular Extensions は、CodeIgniter PHP フレームワークをモジュール化します。モジュールは、独立したコンポーネントのグループであり、通常はモデル、コントローラー、およびビューであり、他の CodeIgniter アプリケーションにドロップできるアプリケーション モジュール サブディレクトリに配置されます。
モジュール コントローラーは、通常のコントローラーまたは HMVC コントローラーとして使用でき、ビュー パーシャルの作成に役立つウィジェットとして使用できます。
HMVC パターンで codeigniter を使用する場合は、ここで Modular Extensions - HMVC を使用できます。
https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc
ここに、codeigniter で HMCV を使用してレールに乗るための、素敵で面白いビデオ チュートリアルがあります。
https://www.youtube.com/watch?v=8fy8E_C5_qQ&list=PLBEpR3pmwCawDZ6FgNYoyvicEz4HrJPec&index=1
それが役立つことを願っています!
Hierarchical-Model-View-Controller (HMVC) パターンは、MVC パターンを直接拡張したものであり、既に述べたスケーラビリティの問題の多くを解決することができます。HMVC は、2000 年 7 月に JavaWorld の Web サイトで「 HMVC: 強力なクライアント層を開発するためのレイヤード パターン」というタイトルのブログ投稿で初めて説明されました。この記事の多くは、グラフィカル ユーザー インターフェイスで HMVC を使用する利点に集中しています。いくつかの提案がありましたJavaWorld の記事では、HMVC が GUI を使用したデスクトップ アプリケーションの設計にどのように役立つかについて詳細に説明しています。この記事の焦点は、HMVC を使用してスケーラブルな Web アプリケーションを作成する方法を示すことです。
HMVC は、1 つのアプリケーションとして動作する従来の MVC トライアドのコレクションです。各トライアドは完全に独立しており、他のものが存在しなくても実行できます。トライアドに対するすべてのリクエストは、コントローラ インターフェイスを使用する必要があり、モデルやライブラリを独自のドメイン外にロードすることはありません。システムの他のすべての部分からアクセスできる限り、ホスティング環境内のトライアドの物理的な場所は重要ではありません。HMVC の独自の機能により、既存のコードの再利用が促進され、システムのさまざまな部分のテストが簡素化され、アプリケーションの拡張や拡張が容易になります。
Sam de FreyssinetによるHMVC を使用した Web アプリケーションのスケーリングから