DBに関するakirahimovicのブックマーク (4)

  • 保守性・拡張性に優れたシステムを作る(1) ― @IT

    連載は、オブジェクト指向言語(Java言語など)の経験がある方に、オブジェクト指向における分析設計の流れ・考え方を理解していただくことにより、少しでも現状の改善に役立てられることを目標としています。 一般的に、オブジェクト指向を使うと、保守性・拡張性に優れたシステムが作れるといわれています。しかし、実際には、「オブジェクト指向を使った開発手法のどの部分が保守性・拡張性に貢献するのか分かりにくい」というのが実情ではないでしょうか。この連載では、システム開発における分析から実装の中でも、特に保守性・拡張性の視点から重要なポイントをピックアップして、説明していきたいと思います。 連載第1回は、まず、現状のシステム開発(ビジネス・アプリケーション)における分析設計手法の問題点を整理し、変更性・拡張性の重要性と定義を説明したいと思います。 現状のシステム開発における問題点 ビジネスアプリケーション

    保守性・拡張性に優れたシステムを作る(1) ― @IT
  • 「データの永続性」に配慮した設計

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

    「データの永続性」に配慮した設計
  • OTN Japan - 今だからデータ・アクセスを真剣に考える! 第2回

    前回の「データベースことはじめ(前編)」では、システムの論理的な階層の中でドメイン層をどの様に実装するかということで、PoEAAのアーキテクチャパターンを元に見てみました。今回は、パーシステンス層のアーキテクチャパターン+αを見ていきます。 まずパーシステンス層を見る前に、今回の話題とは直接ではないですが、間接的に関わってくる層のサービス層に関して少し触れておきたいと思います。サービス層は、ドメイン層配下のビジネスロジックをユーザインタフェース層やアプリケーション層から利用するためのインタフェースとして機能します。一般的にトランザクションロジックやセキュリティロジック、ドメインロジックのワークフロー等のドメインロジックとは直接関係ないロジックを含むのみで、大きなドメインロジックを含むことは好ましくないとされる層です。 では、パーシステンス層です。ここまで、役割的には、データアクセスの実装を

  • ドメイン層に最適なアーキテクチャを考える

    前回「階層アーキテクチャの利点は複雑さの減少」は階層化アーキテクチャの考え方について説明してきました。今回は、階層化アーキテクチャにおけるサービス層と、設計が難しいとされるドメイン層についてどのように考えるのかを見ていきます。まず、最初に各層を設計するときに、拡張性・保守性を高めるために何を検討すべきかを考えてみましょう。 (1)業務機能とシステム機能の分離 業務要件を満たすためのビジネスロジックなどを実現する機能とトランザクション制御などシステムを実現するために必要なシステム機能は、別々に実装できるように考えます。ビジネスロジックを実装するコードにトランザクション制御を行うコードが混在することは、拡張性・保守性を著しく悪くします。 (2)層間の依存性の排除 ドメイン層などの階層化アーキテクチャの各層は、基的に下位層に存在するコンポーネントをブラックボックスとして扱えるように設計します。

    ドメイン層に最適なアーキテクチャを考える
  • 1