トップページ⇒php
167コメント120KB

ドメインモデル VS トランザクションスクリプト

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2009/05/03(日) 18:02:12ID:vXt2lE+8
最近携わったプロジェクトのアーキテクチャは皆、トランザクションスクリプト。
SQLがわんさか書かれた後に、DBの変更が頻繁に行われるので、生産性が著しく下がる。
PofEAAで解説されているドメインモデルでどうして実装しないんだろう?
俺が身近な人に聞いた理由:
1.難解なモデリングをするイメージがあるから(アナリシスパターンのせいか?)
2.どうすれば実現できるかわからないから(アーキテクチャが複雑になるから?)
3.業務アプリにドメインモデルは向かないから(イベントドリブンではないから?)
4.Hibernate(EJB3)が重厚すぎてトラブルが起きたときに怖いから(フレームワークのノウハウがないから?)
5.画面毎に実装させないと作れないから(開発者がへぼいから?)

俺はHibernateを使わずにDAO+リッチなORマッピング処理を自動生成する方法
(Ruby On RailsのActiveRecordみたいなかんじかな)で開発するのが好きで、
それを使ったプロジェクトでは実際に、生産性も保守性も高いと思うんだけど。。

どう思う?
0153nobodyさん2011/05/23(月) 00:49:46.14ID:???
うん
01541522011/05/23(月) 13:17:23.85ID:???
>>153
どうもありがとうございます!
0155nobodyさん2011/10/23(日) 20:39:54.26ID:YBM1A9Aj
>>60
> 「O/Rマッパー = オブジェクトクエリでCRUDできる」が正しい。

「出来る」だってw
hibernate案件で
副問い合わせした後でgroup byしたものをjoinする必要があったが
ヘンテコなクエリで悩まされたわ

あんな独自の馬鹿馬鹿しいクエリは二度と使いたくないね

やっぱりSQLで問い合わせるのが一番だ



0156nobodyさん2011/10/23(日) 20:47:26.90ID:YBM1A9Aj
> JPA、hibernate、EntityBeanは1次キャッシュの機能がある
> (つまり、UinitOfWorkをアーキテクチャの原則としている)
>
> S2Dao、iBatisにはそういう機能はない
>
> この違いを表現するのに"なんちゃってO/Rマッパー"と言っているだけ。
> ほかに良い表現方法があればそれを使うけど、特にないのでそう言っている。


遅レスだがw

なんだコイツ?

「一時キャッシュがあるから高機能」とか
馬鹿か?
どんだけ永続化マンセー野郎なんだ



そのキャッシュの間に、本番DBの値が変更したらどうなるか?
更新の時に不具合が出る場合もあることに頭が回らんのかねw

0157nobodyさん2011/10/24(月) 22:55:11.73ID:???
>>156
> そのキャッシュの間に、本番DBの値が変更したらどうなるか?
心配しなくてもそれなりのODBはキャッシュコヒーレンシープロトコルをもってる
0158nobodyさん2011/10/24(月) 23:19:25.34ID:IvAvPYHs
>>157
Oracleで言うと、読み取り一貫性の機能を言いたいんだろうが
勘違いしてるな

Aが画面で編集してる間に
Bが更新処理を完了してる、というケースを考えてみろ

Aがイザ更新をしようとすれば、すでにDBの値は変更されてしまっている
そのまま更新しようとすると制約などがあればエラーになるケースもある
0159nobodyさん2011/10/25(火) 13:53:20.00ID:ZETKDX7R
DDD信者が必死になってるだけだろw
0160nobodyさん2011/10/25(火) 19:21:27.40ID:???
DDDとHibernateとか糞実装系の話を一緒にするのは止めて欲しいな〜。
0161nobodyさん2011/10/25(火) 19:29:33.75ID:ZETKDX7R
むしろDDDで優れた実装系など見たことも無い
0162nobodyさん2011/10/25(火) 19:34:32.27ID:???
実装系の話は切り離せって意味だよ。
0163nobodyさん2011/10/25(火) 19:58:22.71ID:???
DDDの話=Hibernateの話と勘違いした厨がわき、それに対するアンチがわき、
モデル層の話はほとんど行われない、っといういつもの光景か。
0164nobodyさん2011/10/26(水) 00:55:43.76ID:???
そもそも立てる板を間違ってるからな
0165nobodyさん2011/10/26(水) 03:17:49.96ID:yaFVf5on
JPA信者=Hibernate信者

これも否定できない事実だ
0166nobodyさん2011/10/26(水) 19:32:24.27ID:???
それが事実だとして何なんだ?
0167電脳プリオン 忍法帖【Lv=40,xxxPT】(1+0:8) 【15.1m】 2013/04/14(日) 19:24:04.87ID:????PLT(12080)
両方知らん
■ このスレッドは過去ログ倉庫に格納されています