构建我的类的正确方法

时间:2011-08-03 00:33:41

标签: c# .net sql class

Gday伙计们。 显然我是编程的业余爱好者,但我正在学习!

我想创建一个简单的asp .net网站,它基本上是一个非常小的数据库,用于我们办公室里的维修工作。

我不确定一些事情: 首先,我如何构建我的类?

我知道我将拥有一个具有名称,问题描述,技术人员等属性的工作类,并且还有将某些工作加载到该实例中的方法。但是,如果我有一个页面可以搜索所有工作,那么返回所有工作的方法是什么?我无法真正看到它进入Jobs类,因为Jobs类实际上只处理Job的单个实例,而不是多个作业。我是否必须有一个名为Jobs的单独类,它具有获取所有作业的方法?

第二个问题 - 如果我有从数据库中检索数据的方法,那么将它返回给调用类的最佳类型是什么?一个列表?一个DataSet?

最后,我是否应该再次为数据访问创建一个单独的类,为Job创建一个单独的业务逻辑类型的类?

我知道我可能会在这里过多地研究这样一个简单的应用程序,但我想让自己从一开始就养成使用RIGHT技术的习惯..!

期待着您的建议!

3 个答案:

答案 0 :(得分:2)

Visual Studio提供了可以使用“新建项目”选项创建的示例项目...它可以创建一个完全正常工作的Web应用程序,以便您可以开始从中学习。

您可以尝试MVC。创建一个新的MVC项目,它会询问你是否想要它是空的,或者如果你想创建一个带有工作代码的示例项目...当然你应该选择第二个选择...之后你可以运行应用程序看看会发生什么! =)

然后你可以开始探索......尝试改变这个项目中的东西。关于你不理解的一切的问题。你可能已经注意到StackOverflow是个好地方。

答案 1 :(得分:2)

1)Martin Fowler的重构真的帮助我掌握了OO编程。它不仅可以教你重构你的课程,还可以教你在设计课程时要注意什么。

在您的示例中,返回所有作业的方法将进入包含作业列表的类。远离创建List<Job>,创建一个包含List<Job>的类的单个实例。

2)远离DataSet,除非您确切知道为什么需要使用DataSet。我建议你使用WCF + Linq从你的数据库中获取数据作为你自己的类的列表。

3)WCF + Linq将负责您的数据访问层。您自己的类将成为您的总线逻辑层。最后,您将从界面的附加视图层中受益。

答案 2 :(得分:1)

  1. 您需要将存储库类与实体类分开 - make class只有一个责任。这是基本的OO原则。
  2. 列表会更好更简单。
  3. 当然,您需要将DAL和BL分开。
  4. 如果您想要正确的方式来构建网站,请对MVC,TDD,Linq,ORM(例如EF),依赖注入和其他设计模式感兴趣。