Quantcast
Channel: ウィリアムのいたずらの、まちあるき、たべあるき
Viewing all articles
Browse latest Browse all 7268

Astah*で、上流から、下流まで、トレーサビリティをもって開発する方法(4)

$
0
0


Astah*で、上流から、下流まで、トレーサビリティをもって開発する方法(3)
http://blog.goo.ne.jp/xmldtp/e/cb7b784d5e73df3d147ec3bc2ae1b6b0

で書いた話の続き。

View,Modelが埋まってきて、とくにViewは画面に分割できた。
のこりは、コントローラーなのだが、ここで問題がある。

今日は、そこから話をはじめる・・・



■コントローラーは、フレームワークに結び付いている

 コントローラーは、フレームワークに結び付いています
 たとえば、

  strutsであれば、コントローラーは、Action「クラス」であり、
   Viewのイベント(メソッドに表現されている)と結び付くのは
   このActionクラス

  cakephpであれば、コントローラーは、Action「メソッド」であり、
   Viewのイベント(メソッドに表現されている)と結び付くのは
   このコントローラークラスのActionメソッド

 というわけで、クラスの単位が違うわけです。
 そこで、コントローラーを決める前に、フレームワークを決める必要が
あるわけです。



■フレームワークの決定

 これは趣味とか、思惑とか、宗教とか、そんな感じの問題です。

 今回は、CakePHPと決めてしまいます。



■コントローラークラスの決定

 そして、コントローラーグラスを具体的に決めます。

 CakePHPだとしても、1画面1コントローラークラスにして、
作成することも可能です。
 また、もっと大きく取って、
   コントローラークラスは、ユースケースにすることもできるし、
   やる気になれば、1モデル1コントローラーにもできます
     →これをすると、bakeでの自動生成がしやすい?

 今回は
  「1コントローラークラスは、1ユースケース」
 とします。



■アクションメソッドの決定

 コントローラークラスの中の、アクションメソッドですが、これは、
 View(でおきるイベントの)メソッドに対し、
 (呼び出される)Actionメソッドはあるはずです。

 ただし、次画面表示に関しては、かならずしもメソッドが必要なわけではありません。
 1アクションに対し、かならず次の画面が決まっている場合は、
 Viewから呼び出されたActionメソッドで、次画面表示を行ってもいいわけです。

 そこで、このようにします。

   ・まず、取り合えず、Viewから呼び出されるActionメソッドを作ります。

   こんなかんじ


   問3画面の「課題文表示()」は、コントローラーにありません。
   これは、View上で表示するだけで、コントローラーに来ないためです。

   集計結果表示画面の「結果表示()」もコントローラーにありません。
   これは、上述の「Viewから呼び出されたActionメソッドで、次画面表示を行」う
   パターンです。
   アンケート集計管理の集計開始メソッド内で、集計結果表示の内容をつくってしまうため、
   アクションメソッドが作られていません


  ・画面のActionから、コントローラーを呼び出し、画面を表示するという流れが
   滞りなく、抜けがないか確認する
    →そのため、画面遷移図等を作ります。



 ということで、次は、画面遷移などの話にいきます。



Viewing all articles
Browse latest Browse all 7268

Trending Articles