愚蠢的问题涉及静态和实例数据库访问.net

时间:2010-11-02 23:57:03

标签: c# .net design-patterns ado.net enterprise-library

我试图通过一个惊人数量的帖子进行搜索 - 非常有价值,因为即使它与主要问题没有直接关联,也可以吸收其他方面。

就我而言,正如标题所说,我真的想要尝试理解使用静态类/方法进行数据访问的“现实世界”优缺点。

我正在使用的更多信息。

  1. 我正在使用Patterns / Practices Enterprise Library 5.0来获取数据访问块(和 缓存等)。

  2. 我的实际“业务对象”是一个静态类,用一个静态方法来表示“getContacts” 反过来,返回说一个XML字符串等。

  3. 所以问题确实是 鉴于上面的结构,使用静态类返回XML字符串是“更好/更有效/更好的做法” - 再次假设我不需要任何实例关系 - 只需“给我数据”并离开..或者是否更容易使用实例基类??

    我意识到每种方法都存在这种情况,但只是试图获得反馈,以便为我提供指导。

    谢谢! 大卫。

1 个答案:

答案 0 :(得分:1)

这根本不是一个愚蠢的问题。首先我会指出你When to Use Static Classes in C#,因为那里有很多很棒的建议。

使用何时使用静态方法/类实际上完全取决于应用程序的设计。

即便如此,我觉得在长期设计中使用实例而不仅仅是静态方法会更好。如果您要在应用程序中使用任何OO概念,那么静态方法将立即限制您。您通常可以使用实例等创建更灵活的系统。

对于静态字段,您还需要非常小心地使用静态方法。我已经看到很多开发人员的例子,他们并不清楚静态字段和实例之间的区别是什么,它导致了各种各样的问题。

所以,为了给你一个直接的答案,我认为你应该尽量避免使用静态方法,因为从长远来看,它会通过沿着OO路线获得回报。