質問

どん勉強してOOP、開始め様々なデザインパターン、いつ帰る場合にの人が嫌に 活動記録.

しばしば言わないものとします規模(例Twitterとして盛り例)も実際に説明してい なぜ な規模で、とはいう目的達成のためのヒアリングプロARのない連結実績(類似のものの異なるパターン?)

こん一番最後の聖戦いデザインパターン--すべての知りたいです****具体的には****何が悪いのかという活動です。

っていることを確認してください規模のものはいかがでしょうか?

他の問題なのですか?

役に立ちましたか?

解決

ActiveRecordのデザインパターンActiveRecordのレールドの図書館, ともありトンのノックオフします。純、その他の言語を学んでいます。

これらは全くの別物です。主にこれに従ってデザインパターンはいうまでもなく、変更ではなく、前方に"ActiveRecordを吸い込み"が必要であるのに対しているActiveRecordが盛?"

まだ馴染みのレール'ActiveRecord、頑張りますというアドレスのすべての苦情をしているコンテキストを使用します。

@BlaM

問題を見積極的記録は、いつでもっ表

コード:

class Person
    belongs_to :company
end
people = Person.find(:all, :include => :company )

を含むに関連して発生するSQLと LEFT JOIN companies on companies.id = person.company_id, は、自動的に生成関連会社オブジェ可能になっています people.first.company する必要はありませんのデータベースでのデータが既に存在する。

@pix0r

固有の問題活動の記録であるデータベースのクエリは自動的に生成され、実行に移植物体変更データベース内のレコード

コード:

person = Person.find_by_sql("giant complicated sql query")

この落胆しても醜いものの場合だけ書く必要がある原SQLで簡単に行われます。

@ティム-サリバン

...をご選択の複数インスタンスのモデルは、基本的にはい"を選択※から---"

コード:

people = Person.find(:all, :select=>'name, id')

このことのみを選択し、名前とIDカラムからのデータベースのその他の属性にマップされたオブジェクトだければ、ない限り、手動で更新するオブジェクトです。

他のヒント

いるActiveRecordの良い迅速なCRUD-ベースのアプリケーションのモデルは、比較的平坦など、多くのクラス階層).しかし、用途に複雑なOO階層、 DataMapper あります。がActiveRecordを想定し、1:1の比率との間でテーブルやデータオブジェクトでは、そのような関係が扱より複雑なドメイン.彼の 予約パターン, マーチン氏は、ファウラーポイントがActiveRecordが破壊条件におけるモデルはかなり複雑になり、その DataMapper しています。

なんでこれが真である。場合が多く相のドメインでのがより難しくなっている地図の継承をRDBMSようにすることが求められま地図協会の構成です。

はいはい"ドメイン"オブジェクトにアクセスコントローラから、そのDataMapper(または"サービスレイヤー")。これらに直接かけないようにしてミラーのデータベースとしておOOの表現も実世界のオブジェクトです。いすユーザークラスのドメインとして参照、または所蔵その他のオブジェクトは、既にあるため、このことは、お取得するユーザオブジェクトです。のデータから多くの異なるテーブル、ActiveRecordのパターンにつくることができますがね。

の代わりに負荷のユーザオブジェクトに直接アクセスデータを用いActiveRecord形式のAPI、コントローラーコードを取得しますユーザオブジェクトの呼び出しによるAPIのUserMapper.getUser()メソッドを備えています。こmapperを担当する条件が記載されている場合は、れに関連したオブジェクトからそれぞれのテーブルに復帰完成した"ユーザーのドメイン"オブジェクトの呼び出し側に返します。

基本的にはどうするかを加えること抽象の層をコードよりmanagable.かDataMapperのクラスでは原料のカスタムSQL、または通話データベースを抽象化レイヤAPIもアクセスActiveRecordパターンを、いかにコントローラーコードは、人口のユーザオブジェクトです。

とにかく、そう思います。

ていると思いますが非常に異なる設定の理由となぜ人は"嫌"をActiveRecordで、何が"間違った"です。

の嫌問題が多いの毒に向けて何をレールにします。どう違うのですが,これは全ての技術が状況の良い選択肢とな状況にあります。の状況が得られないときには、いくつかのものの基本的にほとんどのレールActiveRecord、私の経験では、データベースがひどく庫も保有致しております。場合データアクセスせずに次のキーは、ものを侵害する初の正規形式が多く保管された手続きに必要なアクセスし、データをするものはただのSQL wrapper.場合データベースは比較的構造のためActiveRecord ーをご利用いただきます。

追加テーマに対する回答サ者と言うのも難しいのでActiveRecordとコードスニペットrejoinder

@サムテ言いユーザクラスのドメインとして参照、または所蔵その他のオブジェクトは、既にあるため、このことは、お取得するユーザオブジェクトです。のデータから多くの異なるテーブル、ActiveRecordのパターンにつくることができますがね。

user = User.find(id, :include => ["posts", "comments"])
first_post = user.posts.first
first_comment = user.comments.first

利用などのオプションActiveRecordきのオーバーライドのデフォルトの踏込みます。

長期後期の回答はありませんが、良い説明がなぜ憎このパターン、意見や感情:

1)ショートバージョン:活動の記録を作成し"薄層"の"強い結合"との間でデータベースのアプリケーションコード.を解決するのない論理的でないなどの問題問題ありませんでしたよ。まぁいかな価値を除 統語糖 のためのプログラマーとして使用する"オブジェクトの文法"にアクセスデータに存在するリレーショナルデータベース).のを作成するための努力でも快適のためのプログラマは(まぁ...)より投資される低レベルのデータベースアクセスツールなど一部の変動のシンプルで分かりやすい、平 hash_map get_record( string id_value, string table_name, string id_column_name="id" ) と同様の方法で(もちろん、コンセプトと優雅さを大幅に異なる言語が使用されます。

2)ロングバージョン:任意のデータベース駆動型案件があった"概念的管理"のものを、回避ARしています。また、普段は構築 階層アーキテクチャー (おもやい分けソフトウェア層で、少なくとも中-大型プロジェクト):

A1)のデータベース、テーブルの関係でも、一部ロジックの場合、DBMSす(サンプルをベースにプラグインも成熟した現在)

A2)があり、データストア:ファイルシステム(用途にでも便をデータベースは必ずしも良い決定...)、レガシーシステム(いていると想像してみてください"などでアクセスし、多くの品種で..それだけではありませんのポットを表示一部の観光スポット)

B)データベースアクセス層(このレベルでは、ツールの方法、ヘルパーに簡単にアクセスデータベースのデータも大歓迎ですが、AR提供をするものではありませんこの値を除き、一部の構文糖)

C)応用物層:"応用物もシンプルテーブルの行のデータベースが、ほとんどに入れておくこともできます 化合物 オブジェとにかく、とても高いロジックが付いてくるので、投資時間ARオブジェクトでこのレベルでわかりやすくなり、廃棄物の貴重なコーダーをしましたが、""価値の高いロジック"のそれらのオブジェクトを実施することが必要となり、ARオブジェクトを、とにかくなAR!と、例えば、だいたいにおいて抽象化"のエントリのログオブジェ"?アプリの論理コードの書き込みが必要とする機能を更新または削除すか?音ん、 App::Log("I am a log message") は一部の大きさを採用する le=new LogEntry(); le.time=now(); le.text="I am a log message"; le.Insert();.たとえば:を利用ログのオブジェクトのログを見書に記載された仕様(項目の作品では100、1000円でも10000ログラインが遅かれ早かれまでの最適化といったベットをその場で使用する小さな美しいSQL SELECTアロジック(全のARア..)ではなくラッピングが小文硬質固定ARアフレームと多くのコードラッピングや隠れています。時の無駄な文書の作成および/または建物のARコードが運用されており、これによってより賢いインタフェース読書リストのログインのエントリは、多くの、多くの方に、空には限り正確に記入してください。コーダーは あえて新しい抽象化 実現のためのアプリケーションロジックの用途は、 なデュ再施ゃパターン, が、音が良い先。

D)アプリケーションロジック-具の論理との交流物の作成、削除及び上場(!) のアプリケーションロジックオブジェクト(いや、その業務に必要なす固定のアプリケーションロジックを体そのもの:は、紙の机の名前と場所の他のすべてのシート本、いかがですか?忘れの"静"の方法上場物、私がん、悪い妥協を作る、人間の思考に適合[ものがたりない-全AR-枠組みのように-]AR考える)

E)ユーザーインターフェースは、何と書いていく以下のラインは非常に、非常に主観的だが、私の経験、プロジェクトに独自に作成しているもののARでしばしば無視UIは、出願時間の無駄になっていたに作成曖昧で抽象化.のような用途に無駄なコーダーの時間と感じるような用途からコーダーのためにグラマー、テック-傾斜をはかった。をコーダーを感じの良い物の努力が実って、全て終了し、正しい"は紙のとおりにリソースをカスタマイズのお客様には"だけを使用していることが必要のようなこと"ですが、私が"プロフェッショナル"..ok、申し訳ありません、私は脱;-)

でも確かに、このすべての主観的な経験(Ruby on Railsを除外できないゼロの実践的な経験をするアプローチ。

預け金の払戻によるプロジェクトでは、わたしているのを聞く機会が増えたように最初に作成も"活動の記録"物体としては、高レベルのアプリケーション。私の経験上、この ひば しか言い訳をお客さまは、ソフトウェアdev会社のほとんどの場合)を持たなかった良いコンセプトに大きな見えをします。そのお客様に考えてい剛性のフレーム("プロジェクトの十年前からたところ、うまくいったので..")、覚者、その定義できる事業体の関係、彼らが破綻する可能性がありデータの関係を定義する基本的なアプリケーションロジックがその停止を渡すのだと考えて頂けます...彼らはされている実態が明らかになっ完全な概念のアプリケーションロジックといったユーザーインタフェースで、使い勝手などなど...。が足りない大きな視が足りない愛を詳細につきましては、いまだ解明されていなARのもので..でも、なぜれることなく、このプロジェクト年前で人が忙しく、静か?わかりません。その詳細は別の男性から男の子、又は..どのように独自の広告スローガン?;-)

多くの年数(年の開発経験、お客様の発言を積極的に活用していくアクティブ記録パターン""私のアラームベルのプリントです。たれたままにしておくとあっという に戻すことが不可欠に気相, ええ、い自分に気弱みは避けられundiscerning(最終的にはない、というお客様なのかを知りたいのなかにはもう知っていない、という集団間に差の概念を作った、コストは私に多くの貴重な時間、日、週、月の時、ライブでは短すぎ...).

なので、最後に:このはなぜそんなの、そんなとぶ"活動の記録パターン"といいを避けることもできます。

編集:いもの本のないパターンです。でも解決しない問題(パターンまうわけではありませんの作成統語ります。で多くの問題:すべての根本問題点(記多くの回答す。)、 それだけで隠す に発達した強力なSQLの後ろのインタフェースは、パターン定義は非常に限定されている。

このパターンに置き換えの柔軟性と統語糖!

のことを考えれば、ある問題はARの解決ですか?

メッセージはいかなりの混乱をきたしている。その答えは"ド"vs"SQL"があります。

このARだけの簡略化ングパターンの場所の特性を活かした機能ドメインのオブジェクトを書くのがデータベースアクセスコードです。

これらのオブジェクトは通常のビジネスの属性(性質の豆)や一部の挙動(方法、通常作業です。

ARって見積書や請求書を発行するsaas"の追加方法はこれらのドメインのオブジェ"データベースの業務に取り組んでいます。

というから私の意見や経験がないようにパターンです。

で音を鳴らすことができ良いと思います。なJavaのリーディングプロジェクト春則このパターンです。

私にとって現実の問題だけではOOP懸念される。ARパターンの力だとかを追加する依存性からオブジェクトinfraestructureオブジェクト。これらのinfraestructure物のドメインのオブジェクトデータベースに問い合わせ方法により示唆されるコンテンツです。

私は以前から、二層の成否の鍵を握るのはプロジェクト.本サービスの層の事業者などのロジック居住または輸出を通じて何らかのリモの技術としてWebサービス、例えば、ドメイン。私の意見れば、追加した一部の依存関係のない本当に必要なものが、ドメイン層オブジェクト解決に向けARパターンは、ドメインのフラッシュすることはありませんが共有その他の層(レア)外部アプリケーション.

春則の実施ARは面白いと思うのですが、なに依存していないオブジェクト自体が、AspectJのファイルです。もの以降の場合はたくない仕事を素を加えリゾットに、refactorのプロジェクトは、AR法で直接実装されているドメインオブジェクト。

もう一つの点ます。想像して使用しないリレーショナルデータベース納す。想の適用店舗当社のドメインのオブジェクトは、NoSQLデータベースや、XMLファイルです。うしたメソッドを実装するこれらの課題に弊社ドメインのオブジェ?とは思えないので(例えば、XMして追加のXML関連の依存当社のドメインのオブジェ...真の悲します。それなのになぜ、いまの実施の関係DB方のドメインのオブジェとしてArパターン言うのでしょう。

総括すると、ARパターンの音を鳴らすことができ簡素化や小型、簡単なアプリケーション.でも、たときは、さらなる進化を続けアプリだと思い、古典的な階層アーキテクチャーがより優れたアプローチだ。

にした上で質問しての活躍 記録デザインパターンです。いorm ツールです。

の質問は、タグ付きレールを用いと言う意味合いはわかるのですTwitterで搭載されているRuby on Railsベースで、.のActiveRecordの枠組み内でのレールはファウラーの活動記録をデザインパターンです。

主なものとなどの見所についての苦情及び活動の記録が作成する場合のモデル表をご選択の複数インスタンスのモデルは、基本的にはい"を選択※から---".このオリンピックレコードの編集、表示、記録、もしたい場合は、表示のリストは、都市のためのすべての連絡先データベース、なにができる"都市を選択してから---"とのみを取得します。この動の記録が必要、とのことだけを選択すべての列だけを使用。

もちろん、異なる実装を取扱います。しかし、問題です。

現在、この新たなモデルの具体的なことだなっているが、一部の人々と主張するだろうと述べるものが結構ある。

私はまったんで活躍します。:-)

HTH

またその亜音速ダイアゴナルは、カラムのみというもの。
のいずれか

DataBaseTable.GetList(DataBaseTable.Columns.ColumnYouWant)

, するに当たり、

Query q = DataBaseTable.CreateQuery()
               .WHERE(DataBaseTable.Columns.ColumnToFilterOn,value);
q.SelectList = DataBaseTable.Columns.ColumnYouWant;
q.Load();

ものLinqがキングでゆったり流れる出荷します。

@BlaM:私justed行動記録によります。いずれのテーブル <-->で活躍します。なぜない"より参加算書" <-->活動名前を挙げた報告書を発表した。

私の話を活の記録としてデザインパターンにしたいと思っていROR.

一部の開発者は嫌い活動記録をしないので、読みのスマート図書の書かれており、清潔さ、快適性は十分満足できコード、およびこれらの本国の積極的な記録に違反するシングルresposobilityの原則に違反するDDDルドメインのオブジェクトは形無知、および他の多くのルールからこのようなのです。

第ド活動記録が1対1のデータベースの、それは、制限の種類によってシステム(層).

私だけで演もしたいと思っていruby on railsの実践パターンです。

問題を見積極的記録は、必ずしもう 一つ 表に示す。それでも大丈夫という作業だけるテーブルで仕事をする場合のデータをほとんどの場合だってあのような参加を行います。*

あり 通常、以下の せんの参加で で性能が 通常 以上 "偽"の参加 最初の読み込み全体のテーブルを用いて得た情報を読んでフィルターテーブルB.

の問題ActiveRecordのクエリで自動的に生成す原因となり性能。

まっunintuitiveさらにお得な価格での最適な問合せがご迷ってしまう場合がり時間を効果的に検索できる方。

っているが、その他のコメントに関するSQLの最適化にも有効で、私の主な苦情の記録パターンでは通常る インピーダンスのミスマッチ.いつ私のドメインのクリーンを適切に封入され、活動の記録パターン通常の破壊すべての今しています。

やってみて、多くの多くの多様な関係です。簡単にいかないのです。特にがんをSTI.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top