7

どんな種類のORMツールも許可しないITショップにいるとしましょう。彼らはそれを購入したくないし、あなたもオープンソースソリューションを使うことができません。

あなたならどうしますか?実際のドメインモデルをあきらめて、テーブル中心で作業しますか?独自のDALを作成しますか?

4

14 に答える 14

12

厳密に言えば、オプションは次のとおりです。

  1. リレーショナル データベースを使用しない
  2. OOP 言語を使用しない

それ以外の場合は、何らかの ORM ソリューションが必要になります (自分で作成したとしても、単純な ORM レイヤーのままです)。

于 2009-03-05T18:57:16.377 に答える
9

オプション:

  1. 独自のロール
  2. 終了する
  3. とにかくオープンソースのものをそのまま使って、うまくいったらプロトタイプを見せて、オープンソースを考え直してもらいましょう。
于 2009-03-05T18:51:30.307 に答える
6

既存のORMのいずれかを本当に使用できない場合は、独自のORMを作成することはお勧めしません。地元で栽培されたORMは、最初の6か月間は役立つように見え、その後徐々にプロジェクトで最大の時間の無駄になるように見える、実装が不十分で、設計が不十分で、いぼに乗った獣である傾向があります。

Fowler's Patterns of Enterprise Application Architectureの「RowDataGateway」や「TableDataGateway」などのパターンを適用すると、ORMなしで実行できます。

ドメインをデータベースから分離するために独自の分離レイヤーを拡張することになりますが、独自のORMをローリングするほど作成に費用はかかりません。

于 2009-03-05T19:29:12.977 に答える
5

ここには 3 つの可能性があります。

  1. あなたの上司は、ORM を使用する利点を理解していません。
  2. あなたの上司は、これまで通りのやり方で物事を進めており、変更を考えようとはしません。
  3. あなたの上司には、ORM を選択しない正当な理由があります。

おそらく、これら3つの組み合わせです。彼らはおそらく、ORM をよりよく理解することで解決できる正当な懸念を持っているでしょう。私のアドバイスは、それらを ORM で販売することです。ORM を使用して修正できる特に厄介なコードを見つけ、そのコードをどれだけ簡素化できるかを示すプロトタイプを作成します。また、喜んで妥協してください。

彼らがこれに同意しない場合は、これが本当にあなたが働きたい場所かどうかを自問する必要があります. 彼らがあなたに ORM を使わせてくれないからではなく (それがなくても生きていけるかもしれません)、彼らがあなたの言うことを聞かないからです。いつでも思いのままにできるわけではありませんが、開発プロセスに関する意見は必要です。

于 2009-03-05T19:08:59.767 に答える
4

ジェネリック DAOに沿ったものを使用して独自の DAL を作成し、コードの残りの部分が密結合されないように抽象化しますが、データにアクセスします。

これにより、後で ORM が登場した場合に、すべて ORM に簡単に交換できます。

于 2009-03-05T18:51:53.147 に答える
3

はるか昔の 2004 年に私たちが行ったように、独自の DAL を作成します。

于 2009-03-05T18:53:33.547 に答える
2

まず第一に、オープンソースのものを使用することさえできないというのは絶対に遅れています。

自分で巻く必要がある場合、それは大したことではありません。ドメイン モデルを問題なく使用できます。各レコードをモデル化し、ドメイン モデルを構築してそこからデータを中間形式としてロードすると、作業が簡単になる場合があります。

于 2009-03-05T19:04:11.900 に答える
1

彼らがiBatis(http://ibatis.apache.org/)についてどう思っているかを見てください。これはORMではありませんが、不可解なORMの魔法を使わずに、データベースクエリからオブジェクトを取得するのに役立ちます。

彼らは今どのように物事をやっていますか?

于 2009-03-05T19:21:41.000 に答える
1

おそらくある種のコード生成ツールを使用して、独自のソリューションを展開します。技術的に、結果(データリーダー、テーブル、レコードセットなど)をオブジェクトに変換すると、小さなo/rマッパーがあり、非常に欠けていますが、それでも...それは私が推測する定義の問題です。

私の主な目標は、コード内で CRUD を繰り返さないようにすることです。CRUD には時間がかかり、退屈で、欠陥の原因となります。

述べたように、リレーショナル データベースが必要ない場合は、いつでも何らかのオブジェクト データベースを使用できます。しかし、それらははるかにまれであり、上司がorm:sに反対している場合、彼はそうする可能性は低いです.

于 2009-03-05T20:05:10.847 に答える
0

ORM が許可されない理由、ORM とは何かを尋ね、そこから次の 2 つの可能性のうちの 1 つを決定します。

  1. 対処
  2. 取り引きなし (やめる)
于 2009-03-05T18:54:39.253 に答える
0

独自の DAL を作成することにした場合は、Davy Brionがそのための非常に優れたチュートリアルを提供しています。Build Your Own Data Access Layer Series
をご覧ください。

于 2011-04-06T06:27:18.123 に答える
-4

「いかなる種類の ORM ツールもありません。彼らはそれを購入したがらず、オープンソース ソリューションも使用できません。」

ORM がまったくない、またはオープンソース/$$$ だけですか?

優れた ORM ツールの無料バージョンがあります。

于 2009-03-05T19:37:11.913 に答える