.NET
Framework让软件开发人员的日子好过了不少,这在对数据库访问上的作用尤其明显。尽管做到这一点微软已经反复了好几次,但是有了ADO.NET及其分离构架和工具的便利,我认为微软终于切中了要害。在本文中,我会用自己对Microsoft所建议的.NET新构架规范的理解,说明如何为多层内容管理系统(CMS)的简化了的数据层实现代码。
为了节省你阅读微软冗长文档的时间,以下是它们关于数据层所提到的东西:CRUD和数据逻辑功能。
对于还不清楚概念的人,CRUD代表创建、读取、更新和删除。如果你从编程的角度来考虑它,那么这就是数据库所需要的所有东西。微软大力推荐的.NET构架所持的基本观点就是让数据库把自己该做的做到最好:处理好创建、维护和检索不变数据等事情。已有的许多数据库工作内容过多,因为它们具有强加上去的事务逻辑。当你把数据库层(严格)限制到CRUD时,事务逻辑就被放回到它应该在的地方了——事务逻辑层。
图A是数据层的基本构架
图A
就是这些了。如果你的数据库所包含的内容多于这些,那么你就在这一层放入了太多的东西。我想你们都知道数据库是什么,但是这个叫做数据访问逻辑组件(DALC)的东西又是什么呢?
DALC是一个典型的单一类,它对数据库里某个单一表格或者一组关系表格的数据逻辑和CRUD函数进行封装。要注意的是,这个函数可以允许少量的数据逻辑来超越CRUD。DALC允许更加明确的数据读取、更新和删除,而不是盲目地把整个数据库都读取到事务逻辑层,再在那里处理数据。
设计和创建DALC的方法有很多种。两个常用方法中的一种是使用纯量值和数据集的组合,将其作为和事务逻辑层交互操作的一种方式;方法之二是使用一个事务实体(BE)。