MVCデザインベースのシステムのクラス、メソッド、ファイル、フォルダーの正しいレイアウトを見つけようとしています。
ページがあるとしましょう。ページは、タイトル、テキスト、サブメニューを備えたシンプルなページです。また、ギャラリー(データベースとコードの両方で別個のオブジェクトになる)を含めることもできます。
私は
PageDAO
すべてのデータベース関連機能を持つクラスを持っているでしょう(それはメインクラスを拡張DAO
し、選択、保存、削除などの一般的なDB機能を保持します)このオブジェクトの変数と非db関連関数を定義する個別のPageクラスがあります
私はMVC自体を持っていて、
PageModel
ページDAO
クラスとページクラスを構築し、コンテンツを構築して、コントローラーで処理し、ビューの準備をします。ギャラリーはMVCの外部の別のクラス(たとえばlibsフォルダー)で定義され、ビューとして使用されることはありません(つまり、ギャラリーページ自体を呼び出すことはありません)。ページモデルはGalleryクラスを作成し、コントローラーはそれをページビューに配置します
メニュークラス/関数は、より一般的な関数であり(コードがショッピングサイトなどで使用されている場合、ページとカテゴリの両方で機能するため)、別の領域で定義されます(再びlibsフォルダーになる可能性があります)。その機能に基づくメニュー設定はモデルで呼び出されます
上記は私が次の構造を持つことを意味します
標準のMVCアプローチに基づくモデル、ビュー、コントローラーファイルおよびフォルダー
DAO
すべてのクラスのdaolibフォルダー、、など
Page
のクラスのlibフォルダーMenu
Gallery
それはあなたにとって公平に見えますか?コードをあまりにも多くのクラスに分散させないようにしたいと思っています。これは、より多くの「インクルード」とより多くのオブジェクト呼び出しを意味するためです。しかし、おそらくそれが進むべき道ですか?これまでのところ、MVCアプローチをあまり使用しておらず、ファイルをかなりコンパクトに保っています。ベストプラクティスについて知りたい