Doma!Doma!

うらがみさんがDoma教えてくれるらしいよ
2
うらがみ⛄ @backpaper0

あと久しぶりにdoma使ったけどやっぱdomain classがべんりー

2013-06-12 08:42:10
こざけ@よければ一緒に @s_kozake

@backpaper0 なるほど~。MyBatisとはそろそろお別れしようと考えてたので。参考になりました~

2013-06-12 08:47:03
うらがみ⛄ @backpaper0

@s_kozake 個人的にはSQL書く系のORMならDoma一択です。アドバイスできることもあると思うのでまたお話しましょう!薄いフレームワークなのでアドバイス必要ないかもですが。

2013-06-12 08:49:33
ひじり @hijiri408

@backpaper0 @s_kozake DomainClassが便利ってのはどういう使い方してるんですか?コード値をEnumにするのは使ってるのですが。

2013-06-12 08:56:44
うらがみ⛄ @backpaper0

@hidiree @s_kozake 注文番号と顧客番号というふたつの項目があってどちらもDB上ではvarchar(10)で定義されているとして、通常Java上ではどちらもStringで扱うと思いますがドメインクラスを使えば異なる型で扱えます。

2013-06-12 13:51:25
うらがみ⛄ @backpaper0

@hidiree @s_kozake 注文番号と顧客番号を引数にとるメソッドがあるとして、Stringで扱う場合は引数の順番を間違えてもメソッドを呼び出せますが、ドメインクラスを定義していればコンパイルエラーになります。まず、これが嬉しいです。

2013-06-12 13:54:18
うらがみ⛄ @backpaper0

@hidiree @s_kozake 次にJAX-RSと併用する場合の話になりますが、JAX-RSはStringを引数にとるvalueOfまたはfromStringという名前のstaticメソッドが定義されていれば任意の型でクエリパラメータなどを受け取る事ができます。

2013-06-12 13:57:07
うらがみ⛄ @backpaper0

@hidiree @s_kozake なのでクエリパラメータをStringで受け取ってメソッド内で他の型に変換する、といった手間が省けます。コードも減って嬉しいです。

2013-06-12 13:58:39
うらがみ⛄ @backpaper0

@hidiree @s_kozake あと、強いて言うならStringやIntegerと違って欲しいメソッドを定義できるのも嬉しいですね。

2013-06-12 14:00:13
こざけ@よければ一緒に @s_kozake

@backpaper0 @hidiree ドメインに関連した定数もそのクラスできれますよね~

2013-06-12 14:05:45
こざけ@よければ一緒に @s_kozake

まあ、この流れで僕はドメインクラスは使ってないとかいうと、しばかれそう

2013-06-12 14:08:49
うらがみ⛄ @backpaper0

@s_kozake     _, ,_  パーン  ( ‘д‘)   ⊂彡☆))Д´)

2013-06-12 14:10:41
こざけ@よければ一緒に @s_kozake

。・゜・(ノД`)・゜・。 RT @backpaper0: @s_kozake     _, ,_  パーン  ( ‘д‘)   ⊂彡☆))Д´)

2013-06-12 14:11:16
ひじり @hijiri408

@backpaper0 @s_kozake 値にだけ注目してEnumしか使いませんでしたけど、項目自体を個別に扱えるのは確かに便利ですね。そこまで考えていなかったので参考になります!ただJAX-RSは全く分からないですが…(;ω;)

2013-06-12 14:14:31
ひじり @hijiri408

項目自体というかそこの関連をクラスとして扱えるてことなのかな。便利〜。

2013-06-12 14:15:50
うらがみ⛄ @backpaper0

こざけさん、ひじきさんと一緒に土間勉強会をすれば良いのかな

2013-06-12 14:04:12
ひじり @hijiri408

おぉぉ、すごいありがたい

2013-06-12 14:06:28
こざけ@よければ一緒に @s_kozake

@hidiree @backpaper0 まあ、言い訳になりますが、DB設計がしっかりしてなかったり(例えばレガシーDB扱うとか)、マルチ言語の開発で値オブジェクトをDTOとして扱ったりする時は、ドメインクラス使うと苦労する場合があったりしますよ。F/Wのサポートが前提ですね。

2013-06-12 14:26:04
ひじり @hijiri408

@s_kozake @backpaper0 それってドメインクラスで固くなりすぎて、柔軟(そう呼んでいいのかアレですが)に対応しづらくなるってことです?

2013-06-12 14:29:33
こざけ@よければ一緒に @s_kozake

@hidiree @backpaper0 値に型を持たせる以上、固くなると思いますよ。 その固さが利点となるか欠点となるかは前提次第かと~。 DB設計の時点でドメインが考慮されていなかった場合は注意ですね。

2013-06-12 14:33:59
ひじり @hijiri408

@s_kozake @backpaper0 たしかにそうですね。ちゃんとDB設計のとき考えてるかと言われるとつらいものが(´;ω;`)

2013-06-12 14:36:43