7

私は Kohana を数か月間使用していますが、コード/プレゼンテーション/db レイヤーを整理する MVC スタイルにはまだ比較的慣れていません。残念ながら、コントローラーを作成し、ビューを確立し、モデルを介してデータベースと対話する方法に関するドキュメントはたくさんありますが、クリーンで提案された開発パターンを扱う多くのリソースは見つかりませんでした。

簡単な例を挙げましょう:

私の最新のプロジェクトにはコントローラーが 1 つあります。それよりも多くのコントローラーを作成する必要があるかどうか、またはいつ新しいコントローラーを作成する必要があるかがわからないためです。新しいコントローラーが必要な時期と、新しいモデルが必要な時期を正確に判断するにはどうすればよいですか?

4

7 に答える 7

3

まず、リソース指向のアーキテクチャを確認することをお勧めします。これは、コードを整理する方法の直接的なガイドラインを提供するものではありません。ただし、リソースの観点から考えると、新しいコントローラーを作成するかどうかを決定する際に、人生はより簡単になります。システム内のリソースを特定できたら、通常、モデルとそのコントローラーを作成することをお勧めします。ただし、これは経験則にすぎません。

いくつかの追加のポイント:

  • リソースを探し、それぞれのモデルとコントローラーを作成します(経験則)
  • 持続しないリソースのモデルを作成することを恐れないでください
  • コントローラーをビジネスドメインへのユーザーの「配管」または「配線」と考えてください。コントローラーの役割は、ユーザーの要求を処理し、回答をコントローラーに転送することです。コントローラーを可能な限り薄くします。
于 2009-06-20T10:04:11.720 に答える
1

私は、明確に定義された機能または一連の機能を備えた小さなコントローラーが好きです。これは通常、ページ (または同様のページのセット) ごとに 1 つのコントローラーを意味します。私の Kohana サイト、CSSMySiteには、about、blog、contact、css、および post コントローラーがあります。

about コントローラーが行うことは、テンプレートを設定することだけです。ブログ コントローラーはブログ モデルとやり取りして、データベースから複数の投稿を一覧表示します。投稿コントローラーはブログ モデルとやり取りして、データベースから 1 つの投稿を表示します。

永続的なデータ (ブログ投稿) または複数回使用されるデータ (ドロップダウン ボックスの状態のリスト) があるときはいつでも、モデルに入ります。モデルはさまざまなコントローラーからアクセスできるため、モデルからコントローラーへの 1 対 1 のマッピングである必要はありません。

于 2009-06-22T11:49:53.080 に答える
1

おそらく、優れた MVC プログラミングを学ぶ良い方法は、Ruby-on-Rails で時間を過ごすことです。しばらく前に Rails を使い始めましたが、間接的な結果として、今では MVC について非常によく理解していると思います。Rails は MVC の典型だと思います。少なくとも、MVC を学ぶのは楽しい方法かもしれません...どう思いますか?

于 2010-01-19T20:19:30.307 に答える