回答編集履歴
1
TaskDaoなどがクラス名であることを明記し、区切りを太字にする事で目立たせた。
answer
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
|
12
12
|
今回の場合であれば、以下の様になると思います。
|
13
13
|
|
14
|
-
1.クラスの分割
|
14
|
+
**1.クラスの分割**
|
15
15
|
これはWebアプリで特に用いられる考え方ですが、
|
16
16
|
MVCパターンというものがあります。
|
17
17
|
大雑把に言うと、アプリケーションを
|
@@ -32,20 +32,21 @@
|
|
32
32
|
|
33
33
|
今回のケースであれば、
|
34
34
|
|
35
|
-
モデル
|
35
|
+
・モデル
|
36
36
|
タスクをDBに作成、更新、削除するクラス(TaskDao)
|
37
37
|
タスクを表すクラス(Task)
|
38
|
-
ビュー
|
38
|
+
・ビュー
|
39
39
|
タスクの一覧からカレンダーとして整形してHTMLを生成するクラス(CalendarRenderer)
|
40
|
-
コントローラ
|
40
|
+
・コントローラ
|
41
|
-
|
41
|
+
画面から受け取ったPOST、GETなどのデータを、モデルが受け取れる形にしてモデルに渡し、
|
42
|
-
|
42
|
+
結果をビューに渡すクラス(これはクラスにしないで直書きで良いかも
|
43
|
+
※それぞれの説明の後の括弧内に書いたのはクラス名です。
|
43
44
|
|
44
45
|
というように分けられそうです。
|
45
46
|
勿論、これが正解というものは無いので、違う分け方もありえます。
|
46
47
|
クラス図を書いてみるのも良いでしょう。
|
47
48
|
|
48
|
-
2.メソッドの分割
|
49
|
+
**2.メソッドの分割**
|
49
50
|
1.で分けたクラスに対して、どの様なメソッドがあれば良いか考えます。
|
50
51
|
メソッド名と引数、戻り値、処理内容を簡単にまとめると良いと思います。
|
51
52
|
|
@@ -62,7 +63,7 @@
|
|
62
63
|
どんな引数で呼ぶかを考えます。
|
63
64
|
シーケンス図を書くのも良いと思います。
|
64
65
|
|
65
|
-
3.実装
|
66
|
+
**3.実装**
|
66
67
|
ここまでで決めたことに従って、実装します。
|
67
68
|
今回の場合はクラス化前のソースコードがあるので、
|
68
69
|
その切り貼り+αになると思います。
|