タグ

poeaaに関するlizyのブックマーク (4)

  • データ永続化のための設計パターン

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 実践的なパターン 永続化のパターン Jeremy Miller 目次 データベースへのオブジェクトのマッピング Active Record Data Mapper Repository の使用 Identity Map Lazy Loading と Eager Loading Virtual Proxy パターン 次のステップ データ アクセスは、開発者の間では一般的なテーマです。確かに、特定のデータ アクセス テクノロジと永続化のフレームワークに関する意見は多数ありますが、各自のプロジェクトでこれらのツールを使用する最善の方法は何でしょうか。プロジェクトに対して正しいツールを選択するには、どのような基準を使

    データ永続化のための設計パターン
    lizy
    lizy 2009/04/26
    ORMに関する一般的な話と、.netにおける実装など
  • アクティブレコードパターンの本当の意味 - ひがやすを技術ブログ

    アクティブレコード 1行に対応 ドメインロジックを実装している 最近はDBよりの所にドメインロジックを書くのは廃れている RailsのActiveRecord、S2JDBCとか データマッパー ドメイン設計したクラス群とERモデルのマッピング Hibernate、DjangoのORマッパー オブジェクト指向により忠実 PofEAAをみると、アクティブレコードは、「テーブルの行をオブジェクトでラップしたもの」で、データマッパーは、「データベースとオブジェクトを独立して設計しそれらを結びつけるもの」と書いているので、アクティブレコードパターンは勘違いされやすいかも。 アクティブレコードの定義を原文から持ってくると次のようになります。 An object that wraps a row in a database table or view, encapsulates the database

    アクティブレコードパターンの本当の意味 - ひがやすを技術ブログ
    lizy
    lizy 2008/12/03
    ActiveRecordは、DBに対する読み書きだけでなくロジックも含んだ、文字通り「アクティブ」なヤツ、とでも覚えておこう
  • いまさらきけない「ドメインモデル」と「トランザクションスクリプト」 - ひがやすを技術ブログ

    このネタは、私自身も何度も書いてきたけど、結局意味のある結論になったためしがありませんが、再度考え直してみたいと思います。 「ドメインモデル」と「トランザクションスクリプト」をすごく簡単に説明すると、トランザクションスクリプトとは「アクションより起動される一連の手続き」、ドメインモデルとは「ドメイン内の名詞によって体系化されたモデル」です。 トランザクションスクリプト派は、「トランザクションスクリプトの方が書くのが簡単だし、業務アプリケーションにオブジェクト指向は、ほとんど必要ない」といいます。 それに対し、ドメインモデル派は、「ドメインモデルはオブジェクト指向を生かすことができるのでメンテナンス性が良い」と主張します。 ずっと平行線のままですね。 私は一番最初に「ユースケースと一対一にサービスクラスを設け、ビジネスロジックはサービスクラスに記述する」という主張をしてました。 記念すべき(

    いまさらきけない「ドメインモデル」と「トランザクションスクリプト」 - ひがやすを技術ブログ
  • 「データの永続性」に配慮した設計

    今回は、データの永続化の役割を担うパーシステンス層について見ていきます。パーシステンス層は、データベースとドメイン層の間の仲介をすると考えられます。ドメイン層に必要なデータをデータベースから取得して、ドメイン層が利用できるような仕組みをパーシステンス層は提供します。パーシステンス層の役割は、ドメイン層が利用しやすいように永続化データを提供することです。それでは、パーシステンス層において、どのようなことを考慮しなければならないか考えてみましょう。 パーシステンス層での課題 パーシステンス層に求められることは次のようなことです。 プログラム言語的なインピーダンスミスマッチの吸収 ドメイン層は、Javaなどのプログラム言語が使用されますが、データベースへはSQLを利用してアクセスする必要があります。ドメイン層のビジネスロジックにSQLなどのほかの言語が混在することは生産性・保守性の面から望ましく

    「データの永続性」に配慮した設計
  • 1