Seasar2のmini eventに行ってきました。 場所は萌えの町アキバ! しばらくぶりに行ったけど、だいぶ変わったな~ コスプレのおねえちゃんはともかくとして、、 中央通りのビルが軒並み建設中でいままでのような活気がなく感じた。 まさに再開発の途中って感じ。 まあアキバの話は置いておいて、 自分も実践してるGTDのツール(tugboat.GTD)の話と まさに勉強中のSeasar2の話が聞けるということで行ってみました。 Seasar関連のイベントは初めてで、生ひがさんを見たのも初めて! 自分にとっては、かなり参考になったので、 ひがさんの話を思い出しながら(メモ帳を忘れてしまったのでうろ覚えですが) 簡単に感想&まとめを書いてみます。 まずWebアプリケーションにおけるレイヤモデルの問題点。 プレゼンテーション層、サービス層、ドメイン層、データアクセス層、リソース… 各々の層をインターフェースを用いて疎結合するという方法は、 各層の役割が明確化して、修正による影響が低いというところがあげられるが、 どの層にクラスを持っていくべきか迷う場合がある。 またインターフェースやクラスが大量に作成されることになり クラスの管理、テストの面においても煩雑になってしまう。 自分も以前のJ2JSFを利用したときに体験したので確かに、 何もロジックのないクラスを作ったりすることの無駄はあるなーと感じていたので かなり同感できました。 teedaの1ページ1クラス、1ユースケースに1サービスクラスという構造。 共通機能はサービスクラスに置き、継承を利用する。 これならどこにロジックをおくべきなのかは明らか。 ユースケースの粒度については、メニューの1機能が1ユースケースと考える。 異なるユースケース間の共通機能は委譲モデルを利用して 共通ユースケースを作成して実現する。 なるほど。またこのような考え方は、複数人開発をイメージしていて、 1ユースケースが一人で作成して、重複しないように考えられているそうです。 私の周りでjava関連のフレームワークを利用していない人は、 クラスの管理や考え方が煩雑で複雑なイメージを持っている方が多いですが、 teedaならシンプルに考えられそうな気がしてきました。 これはぜひteeda試さないと! tugboat.GTDの資料はharaさんのブログにありました。 ひがさんのブログ
Filed in: Java, Programing