我已经根据数据库中的表定义了模型。现在有一些模型的数据几乎没有变化。例如,一个电子商务网站销售的产品的类别,它运送产品的城市等。这些不会经常变化,因此为了避免撞到数据库,这些目前保存为静态变量。
问题是这些静态变量应该在代码中的什么位置。目前,在 ProductCategory 类(也是模型表示)中定义了一个静态列表,如果为空则调用 db 并加载产品类别。同样,City 类也有类似的静态 List 等。
然后在整个应用程序中使用这些静态列表。我正在考虑创建一个名为 StaticData 的类,然后将所有静态列表保留在该类中。那是现在而不是
ProductCategory.AllCategories.Find(p => p.Id = 2)
我会有
StaticData.AllProductCategories.Find(p => p.Id = 2)
您认为哪种方法更好?我的目标也是可测试性和解耦代码。
另外,有没有更好的方法来实现这些?你如何在你的代码中做类似的事情?