2011年7月 5日 20:49

#slim3 でgen-model-with-daoを実装しました #ajnhack

@higayasuoさんが

http://twitter.com/higayasuo/status/85337391539294208

#slim3 (+gen)のコードを修正したい人は、遠慮なくコミッタ申請を私の方までしてください。どこを修正したいか明確な人は、基本受け付けます

とのことだったので、それにのっかって先日のGoogle App Engineハッカソンでgenで機能追加をしました。

この修正はSlim3 1.0.12に取り込まれて公開されています
https://sites.google.com/site/slim3appengine/

僕が追加したもの

image1.png

gen-modelを実行 (before)
gen-model:
[gen-model] Generated. (slim3.model.Foo.java:0)
[gen-model] Generated. (slim3.model.FooTest.java:0)
BUILD SUCCESSFUL

gen-model-with-daoを実行 (after)
gen-model-with-dao:
[gen-model] Generated. (slim3.model.Foo.java:0)
[gen-model] Generated. (slim3.model.FooTest.java:0)
  [gen-dao] Generated. (slim3.dao.FooDao.java:0)
  [gen-dao] Generated. (slim3.dao.FooDaoTest.java:0)
BUILD SUCCESSFUL

Model生成時に対になるDaoもセットで生成してくれます。

Dao自体は1.0.10くらいで実装されていたんですが自動生成されず不便で毎回自分のコードをコピペして作ってたので、この機会に自分でgenを作ってみました。

俺得でもいいじゃない。にんげんだもの

Slim3でアプリを作ってるとServiceクラスが多くなりすぎるので、特定のModelのCRUD操作に関するものをDaoに切りだして置くとパッケージ構成的にすっきりするし、Datastoreへのアクセスを一本化しておくことで保守性も上がると思います