新規作成
新規ページ作成
新規ページ作成(その他)
このページをコピーして新規ページ作成
このウィキ内の別ページをコピーして新規ページ作成
このページの子ページを作成
新規ウィキ作成
編集
ページ編集
ページ編集(簡易版)
ページ名変更
メニュー非表示でページ編集
ページの閲覧/編集権限変更
ページの編集モード変更
このページにファイルをアップロード
メニューを編集
右メニューを編集
バージョン管理
最新版変更点(差分)
編集履歴(バックアップ)
アップロードファイル履歴
このページの操作履歴
このウィキのページ操作履歴
ページ一覧
ページ一覧
このウィキのタグ一覧
このウィキのタグ(更新順)
おまかせページ移動
掲示板
このウィキのスレッド一覧
このページのスレッド一覧
RSS
このウィキの更新情報RSS
このウィキ新着ページRSS
ヘルプ
ご利用ガイド
Wiki初心者向けガイド(基本操作)
このウィキの管理者に連絡
運営会社に連絡(不具合、障害など)
掲示板
ページ検索
メニュー
計算数学II 2011年度 15班 Google App Engine
操作ガイド
新規作成
編集する
全ページ一覧
掲示板
登録/ログイン
計算数学II 2011年度 15班 Google App Engine
操作ガイド
新規作成
編集する
全ページ一覧
掲示板
登録/ログイン
ページ一覧
計算数学II 2011年度 15班 Google App Engine
2011/10/14
2011/10/21
2011/10/28
2011/11/04
2011/11/11
2011/11/18
2011/11/25
2011/12/02
2011/12/09
2011/12/16
冬休み
2012/01/06
2012/01/13?
2012/01/20?
2012/01/27?
更新履歴
取得中です。
2011
>
11
>
04
作業
Model View Controller と言われるものにしたがって、実装すれば動く (つもりの) コードを書いてみた:
classes.txt
. このような設計でよいのだろうか?
RequestHandler を継承した Output では、 get(), post() をそれぞれ GetReceiver, PostReceiver に委譲する。
GetReceiver は ConcreteGetter とテンプレートのパスからなる。
ConcreteGetter はデータを取ってくるだけなので、View の一部である。
PostReceiver は ConcreteProcessor とテンプレートのパスからなる。
AbstractProcessor は自分自身の todict(result), parse(request) を呼び出しているが、これは抽象メソッドであり、ConcreteProcessor で実装される。model.proc は '抽象変数のメソッド' である。
ConcreteProcessor はこれらを実装しているが、(データベースへの入力を伴うかもしれない) 実際の処理は ConcreteProcessingModel へ任せてしまっている。
実装 (とは言えないレベルのものであるが) してみたら動いた:
source_20111103.zip
!
上の設計から、冗長な部分を取り除いたりしてある。
主に View, Controller にあたるものを UML のクラス図にしてみた、つもり。'?' は abstract であることを示す。ただし、図の AbstractGetter, AbstractProcessingModel はコードにない。単一の抽象メソッドからなるため実装する意味がないと考えた。こんな感じでよいだろうか? (コードとの一致、および、設計自体の適切さについて)
課題
やっぱり全体の構造 (必要なクラス集合) を決めるのが最も難しいと感じる。
2011/10/28
に書いた「コミュニティ」は管理ユーザ (アプリケーションの管理者と同じとは限らない) と一般ユーザとからなる。ただし管理ユーザの特権は一般ユーザを追加/削除することくらいでよいだろう。複数のコミュニティに所属したいユーザは Google アカウントを複数とってもらうってことでよいと思う (「ユーザ」は成績管理業務を担う人のことであるから、この仮定に無理はないだろう)。
コメント
僕もmarathonなどのコンテストに出るときは、こういう図を描いてみたいと思います -- チームK (2011-11-11 14:47:22)
名前:
コメント:
「04」をウィキ内検索
最終更新:2011年11月11日 14:47
添付ファイル
classes.txt
mjsm_interface.png
source_20111103.zip