0

MVC アーキテクチャに基づく PHP YII フレームワークを使用して、衣類の Web サイトのカート ページに取り組んでいます。カートページには、カート内の商品のサイズと数量を更新する機能があります。

に 2 つのアクションCartPageController(1 つはサイズの更新用、もう 1 つはアイテムの数量の更新用) を配置できます。または、パラメーター、サイズ、または数量を受け取り、必要な操作を実行する 1 つのアクションのみを使用することもできます。

設計の観点から、どちらがより良いアプローチでしょうか?

4

1 に答える 1

2

個人的には、1 つの方法に固執します。どちらのアクションも、基本的に変更アクションです。したがってchange/quantity/4、 とchange/size/Mはまったく同じ方法で処理できます。アクションごとに 1 つのメソッドを使用することについては言いたいことがありますが、コントローラーはデータの処理をあまり行う場所ではないためコントローラーのメソッドは次のようになります。

public function changeAction()
{
    $this->_model->change($arguments);//<-- let the Model-layer sort it out
}

経験則として、コントローラーはデータをできるだけ早くモデルにプッシュするものであり、モデルレイヤーはすべてのロジックが存在する場所です。変更アクションを個別のコントローラー メソッドに分割することは、少なくとも私には、アプリの内部動作がコントローラーに「シフト」しているように感じます

于 2012-11-02T15:59:48.290 に答える