OOPでのデータベースクエリ...デザインパターン?

マイケル・ヤニ

これが基本的な問題です。基本クラスのFooがあるとします。このクラスはデータベースを呼び出して、クラスにキャッシュするデータを取得します。

public class Foo
{
    // Properties/fields go here.

    public virtual void ReadData()
    {
        // Queries the database for information and stores it in Foo.
    }
}

ここで、Barという派生クラスがあるとします。このクラスは、いくつかの追加データをキャッシュしたいと考えています。

public class Bar : Foo
{
    // Additional properties/fields go here.

    public override void ReadData()
    {
        base.ReadData();

        // Queries the database for additional information and stores it in Bar.
    }
} 

さて、これを見ると、通常のOOPを実行している場合に行うのはやや一般的なことのように思えます。ただし、この場合、データベースに2回アクセスしているため、非効率的です。私は、このようなプラクティスをあらゆる場所で実行するレガシーコードベースに取り組んでいます。次のリリースでは、データベースアクセスの最適化(つまり、DBへの呼び出しを減らす)が必要です。

DBでのクエリの量を最小限に抑えることができるように、OOPで機能するデータベースアクセスのデザインパターンはありますか?

Wiktor Zychla

最も簡単なトリックは、基本クラスのメソッドを呼び出さないことです。代わりに、継承されたクラスが特殊なクエリを使用して、データを1回で取得できるようにします。

要件がクエリの数を減らすことである場合、oopにはこれに対する魔法はありません。

次に、別のオプションはキャッシュプロキシを持つことです。これは、キャッシュを処理するための通常のデザインパターンです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

PHPのOOPでデータベースをクエリする

分類Dev

抽象クラス、OOPデザインパターン

分類Dev

JavaでのデザインパターンとOOPの原則

分類Dev

同様のクエリのデザインパターン

分類Dev

マインスイーパのデザインパターン

分類Dev

Smalltalkのデザインパターン

分類Dev

デザインパターンの例

分類Dev

SQLクエリからのデータを共有するPHPクラスのデザインパターン

分類Dev

ブラックベリーデザインエディター

分類Dev

ファクトリデザインパターンでのクラスの作成

分類Dev

エンティティをデータベースに保存するためのデザインパターン

分類Dev

リソース管理のデザインパターン

分類Dev

プログラムリファクタリングのOOPデザインパターン

分類Dev

Pythonデザインパターン

分類Dev

DAOデザインパターン

分類Dev

MapMakerデザインパターン?

分類Dev

XSDデザインパターン

分類Dev

Reduxとデザインパターン

分類Dev

Reactデザインパターン

分類Dev

戦略デザインパターン

分類Dev

複合デザインパターン

分類Dev

AbstractFactoryデザインパターン

分類Dev

REACTREDUX-デザインパターン

分類Dev

静的クラスDbTableに最適なOOPデザインパターン

分類Dev

リレーショナルデータベースのデザインパターン?

分類Dev

リレーショナルデータベースのデザインパターン?

分類Dev

リレーショナルデータベースのデザインパターン?

分類Dev

Javaのプライベートクラスデータデザインパターン

分類Dev

ReactNativeでスターパターンをデザインする

Related 関連記事

  1. 1

    PHPのOOPでデータベースをクエリする

  2. 2

    抽象クラス、OOPデザインパターン

  3. 3

    JavaでのデザインパターンとOOPの原則

  4. 4

    同様のクエリのデザインパターン

  5. 5

    マインスイーパのデザインパターン

  6. 6

    Smalltalkのデザインパターン

  7. 7

    デザインパターンの例

  8. 8

    SQLクエリからのデータを共有するPHPクラスのデザインパターン

  9. 9

    ブラックベリーデザインエディター

  10. 10

    ファクトリデザインパターンでのクラスの作成

  11. 11

    エンティティをデータベースに保存するためのデザインパターン

  12. 12

    リソース管理のデザインパターン

  13. 13

    プログラムリファクタリングのOOPデザインパターン

  14. 14

    Pythonデザインパターン

  15. 15

    DAOデザインパターン

  16. 16

    MapMakerデザインパターン?

  17. 17

    XSDデザインパターン

  18. 18

    Reduxとデザインパターン

  19. 19

    Reactデザインパターン

  20. 20

    戦略デザインパターン

  21. 21

    複合デザインパターン

  22. 22

    AbstractFactoryデザインパターン

  23. 23

    REACTREDUX-デザインパターン

  24. 24

    静的クラスDbTableに最適なOOPデザインパターン

  25. 25

    リレーショナルデータベースのデザインパターン?

  26. 26

    リレーショナルデータベースのデザインパターン?

  27. 27

    リレーショナルデータベースのデザインパターン?

  28. 28

    Javaのプライベートクラスデータデザインパターン

  29. 29

    ReactNativeでスターパターンをデザインする

ホットタグ

アーカイブ