Project

General

Profile

Actions

Feature #594

closed

MVPフレームワークの導入

Added by 啓介 大橋 over 10 years ago. Updated about 10 years ago.

Status:
終了(Closed)
Priority:
通常(Normal)
Assignee:
Target version:
Start date:
10/13/2010
Due date:
% Done:

0%

Estimated time:

Description

暇なときに程度ですが、GWTの2.1がそろそろきそうなので、
SkillMapsを標準のMVPフレームワークに対応させてもいいかもしれませんね
やる/やらない レベルで考えてみてもいいかもしれません。
branchで暇なときに対応版をつくってみようかと思います。

Actions #1

Updated by yusuke kokubo over 10 years ago

MVPは前から気にはなっていたんですが
いまいちMVCなどと比較してメリットがわかりません^^;

標準のフレームワークに乗っかって良い感じになるならやりたいですね!

Actions #2

Updated by 啓介 大橋 over 10 years ago

MVPは単純にMVCと基本的な思想は同じでViewとロジックを分けることを目的としています。
MVCはWebアプリなどで、Controllerが入力値を受け取り、処理しますが、
MVPはデスクトップアプリなど、Viewが入力値を受け取り、Presenterに処理を委譲します。
(基本的にMVPはMVCの亜種って感じらしいっす)

今UserList.javaなどが結構大きくなってきてるので、
リファクタリング感覚で徐々にやっていってもいいかもですね。

今のUserlist 、Top、UserUIなどをひとつの画面でJavascriptで切り替えて、
遷移ごとになんどもイメージのロードをする必要をなくすなどもできたりします。

いい感じにできたらやりたいっすね!!
※時間があったらですが。。。。 他のチケットをやらないと。。。

Actions #3

Updated by yusuke kokubo over 10 years ago

フレームワーク導入で色々とメリットが出てくるのなら是非やりたいですね。
勉強させてもらいます。

今のUserlist 、Top、UserUIなどをひとつの画面でJavascriptで切り替えて、
遷移ごとになんどもイメージのロードをする必要をなくすなどもできたりします。

こういうことができたら素晴らしいと思います。

Actions #4

Updated by yusuke kokubo over 10 years ago

Gitなのでローカルでブランチ作ることも簡単です。
試しにやってみたらフィードバックお願いしますm(_ _)m

Actions #5

Updated by 啓介 大橋 over 10 years ago

  • Status changed from 新規(New) to 担当(Assigned)
  • Assignee set to 啓介 大橋

GWTの2.1が正式にリリースされたので、
公式MVPフレームワークを利用して、MVP実装をブランチでつくりはじめま~す。

あとEditorとか、Loggingあたりもうまく使えそうなので、いろいろやってみます。

Actions #6

Updated by yusuke kokubo over 10 years ago

啓介 大橋 は書きました:

GWTの2.1が正式にリリースされたので、
公式MVPフレームワークを利用して、MVP実装をブランチでつくりはじめま~す。

あとEditorとか、Loggingあたりもうまく使えそうなので、いろいろやってみます。

おおー。楽しみにしています。

Actions #7

Updated by yusuke kokubo over 10 years ago

  • Target version changed from unplaned to Sprint11.03
Actions #8

Updated by 啓介 大橋 over 10 years ago

  • Status changed from 担当(Assigned) to 解決(Resolved)

いったんすべての画面に対してMVP化が完了しました。
いろいろやった結果あまりGWT.asyncが効果が低かったので、
そのうちもう少し、直していきます。

あと基本方針は以下のようにしました。
※前半に作ったモジュールはそのように成っていないのであとで直します。

・GWT RPCを利用するロジックはActivityに配置
・Viewの操作はView側に配置
・基本的にViewとActivityは DisplayとPresenterインターフェースでのみ結合
・ネストしたViewを定義する場合ActivityをもつのでなくViewを直接持つ
→この為ViewはPresenter(Activity)をDIする。

・Presenter以外のDIはコンストラクタインジェクションにて行う
→UIBinderの兼ね合い(コンストラクタてViewが必要)と、後々テストしやすくするため

・一応Placeのプレフィックスには!を付ける
→AppengineでHtmlUnitなどが利用出来るようになったときにクローラ対策ができるように

何かあれば連絡お願いします☆

Actions #9

Updated by 啓介 大橋 over 10 years ago

あとかなりこのチケットに時間がかかってしまい申し訳ございませんでしたm(__)m

Actions #10

Updated by yusuke kokubo about 10 years ago

  • Status changed from 解決(Resolved) to 終了(Closed)

お疲れ様でした!

Actions

Also available in: Atom PDF