ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

モデル部分のフレームワークと、MVCのフレームワークとの違い(特に自動生成で)

2008-12-16 16:24:11 | Weblog

 さっきの本
Eclipse3ではじめるJavaフレームワーク入門
http://www.amazon.co.jp/gp/product/product-description/4798012564

 には、

・Struts
・Struts2
・JSF
---------------------
・Hibernate
・spring
・seasar2

と載っている。

 これらフレームワーク、--------より上と下で大きく分かれる。

 そこでこのブログでは、上のフレームワークを「モデル用」、下のフレームワークを「MVC用」(画面がついていないか、ついているかで分けている)として、その違いと、自動生成のポイントに関して述べたいと思う。

 しかし、その前に、Hibernateについては、図を載せていなかったので、ここに載せておく
 こんなかんじ






■モデル用フレームワーク

 画面部分のない、O/RマッピングのHibernateやDIのspring、seasar2のフレームワークは大きく分けると以下のとおりになる。

 つまり、利用先(出力?)は、呼び出し元クラスとなり、その呼び出し元に機能を提供するために
   ・モデル部分のクラス(Javaのクラスで記述が多い)
 と、
   ・設定ファイル(XMLファイルが多い)
 を利用する。

 設定ファイル部分を切り替えると、(コンパイルしなくても)利用するクラスを切り替えられ、柔軟性が高く、また、おなじような形式にできるというところが、ポイントである。




■MVC用フレームワーク

 一方、画面があるStruts、Struts2、JSFはこんなかんじ。



 利用先は、画面を見るわけだが、

  ・その画面をだす出し方(レイアウト)をJSP+タグで書く

 そして、

  ・モデルに相当する処理記述部分(Beanであることもあるが)

 がモデル用同様あり、さらに

  ・設定ファイルが、画面とモデルの処理部分をつなぐ形である




■自動生成の場合

 で、とくにExcelでデータをいれて、自動生成させる場合、データ項目や処理メソッド名(中身は書かないが)、引数などを書いてもらい

・設定ファイルは出来るだけ自動生成
・モデル部分のクラスは、メソッドだけ書いて、中身空っぽ(雛形)

を作成するようにする。

 しかし、問題なのは、MVC型の画面で、レイアウトは自動生成できない。そこで、出来ることというと、

・レイアウト部分以外で、自動生成する必要があれば(StrutsのActionFormなど)、
 そこを自動生成する

 そのとき、レイアウトファイルの情報から、自動的に自動生成に必要な項目を取り出せるかどうかというところが、効率性につながる。



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Seasar2で必要なファイルとExcel自動生成のためのメモ

2008-12-16 12:10:59 | Weblog

昨日書いたブログに出てきた
Eclipse3ではじめるJavaフレームワーク入門
http://www.amazon.co.jp/gp/product/product-description/4798012564

では、Seasar2も取り上げられているので、Seaser2の必要なファイルと、それをExcelで自動生成する場合について
も書きますかにょ。




■Seasar2で必要なファイル

 その本で見る限り、こんなかんじらしい。

 Bean部分として(Javaで記述)、
  ・データ保管用Beanクラス
     →getter,setter
  ・データ管理用インターフェース
     →実装をインターフェース化
  ・データ管理用実装クラス
     →Beanの管理用の操作

 設定部分(XMLで記述)
  ・diconファイル


 が必要なようだ。




■Excelで自動生成するとすると・・・

データ保管とデータ管理あわせて1シートとしたほうがいいのかなあ・・・
(そーすると、Excelの操作が、めんどっちいんだよな)

2シートにわけるかなあ・・

●2シートに分ける場合、

・1シート目には、データ項目について書くことになる。
  →ここから「データ保管用Beanクラス」のgetter,setterを自動生成する

・2シート目には、そのデータ項目を管理するメソッドについて書くことになる。
  →ここから、「データ管理用」のインターフェース
                と実装クラスの雛形(中身なし)
         設定ファイルのdiconファイル
   を自動生成

ってかんじかな

●1シートの場合
上記の1シート目のあとに、2シート目を続けて書くかんじかな




 この前いった、テストのときの切り替えなどの場合、データ管理用の実装クラスをそれぞれ作って、diconファイルでどちらを使うかを指定する(書き換える)という感じですかにょ。

 Springは、ファイルが少ないので、自動生成しても?という感じだけど、
 ファイルが多くて複雑なSeasar2は意味あるかも・・・


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする