正确地组织我的课程
本文关键字:我的 正确地 | 更新日期: 2023-09-27 18:04:14
大家好。很明显,我在编程方面是个业余爱好者,但我正在学习!
我想创建一个简单的asp .net网站,基本上是一个非常小的数据库维修工作,我们已经在我们的办公室。
我不确定几件事:首先,我如何组织我的类?
我知道我将有一个作业类,将有属性,如名称,问题描述,技术人员等,也有方法加载某些作业到该实例。但是,如果我有一个页面,将搜索所有的工作,大约会返回所有工作的方法在哪里?我不能真正看到它进入Jobs类,因为Jobs类实际上只处理一个Job的单个实例,而不是多个Job。我必须有一个单独的类称为工作,有获得所有工作的方法?
第二个问题-如果我有从数据库中检索数据的方法,将其返回给调用类的最佳类型是什么?一个列表吗?一个数据集?
最后,我是否应该再次为数据访问提供单独的类,并为Job的业务逻辑类型提供单独的类?
我知道我可能在这里过于关注如此简单的应用程序,但我想让自己养成从一开始就使用正确技术的习惯…!
期待您的建议!
Visual Studio提供了示例项目,您可以使用New Project选项创建它们…它可以创建一个完全工作的web应用程序,所以你可以开始学习它。
你可以试试MVC。创建一个新的MVC项目,它会问你是否想要它是空的,或者如果你想创建一个示例项目与工作代码…当然你应该选择第二种……之后,您可以运行应用程序,看看会发生什么!=)
然后你可以开始探索…尝试在这个项目中改变一些东西。并质疑你不懂的一切。你可能已经注意到,StackOverflow是一个好地方。
Martin Fowler的重构确实帮助我掌握了面向对象编程。它不仅可以教你重构你的类,还可以教你在设计类的时候应该寻找什么。
在您的示例中,返回所有作业的方法将进入保存作业列表的类。不要创建一个List<Job>
,创建一个包含List<Job>
的类的单个实例。
2)远离数据集,除非你确切地知道为什么你需要使用一个。我建议您使用WCF + Linq从数据库中获取数据,作为您自己的类列表。
3) WCF + Linq将照顾您的数据访问层。您自己的类将成为您的业务逻辑层。最后,您将受益于为您的界面添加一个视图层。
- 你需要把存储库类和实体类分开——让类有一个单独的职责。这是基本的面向对象原则。
- 列表会更好,更简单。当然,你需要把DAL和BL分开。
- 如果你想以正确的方式构建一个网站,对MVC, TDD, Linq, ORM(例如EF),依赖注入和其他设计模式感兴趣。