gpt4 book ai didi

c# - OOP 中的数据库查询......设计模式?

转载 作者:搜寻专家 更新时间:2023-10-30 21:51:03 24 4
gpt4 key购买 nike

这是基本问题。假设我有一个基类 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,这似乎是一件很常见的事情。但是,在这种情况下,您访问数据库两次,效率很低。我正在处理一个遗留代码库,它在所有地方都进行这样的实践。在下一个版本中,他们希望优化数据库访问(意味着减少对数据库的调用)。

是否有适用于 OOP 的数据库访问设计模式,以便我可以最大限度地减少对数据库的查询量?

最佳答案

最简单的技巧是调用基类方法。相反,让继承的类使用专门的查询来一次性获取数据。

如果您的要求是减少查询数量,oop 对此没有任何魔力。

那么,另一种选择是拥有一个缓存代理,这是处理缓存的常规设计模式。

关于c# - OOP 中的数据库查询......设计模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20707110/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com