SummerRain

软件开发/信息安全
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

.NET数据库编程求索之路--11.一些思考

Posted on 2012-08-21 23:31  SummerRain  阅读(326)  评论(0编辑  收藏  举报

11.一些思考

 

(1)分层不一定都分为不同的Project,也可以是分为不同的目录(如MVC中的Controllers和Models目录),甚至统一的后缀也是一种分层的方法(如10中划分输入验证层时使用.validater.cs后缀),分层是逻辑概念,不需要与物理概念严格对应。

(2)使用partial关键词将一个较大类划分为几个较小的分部类,是降低代码耦合度,提高代码规整度的有效方式。

(3)多数据库切换不是常见的需求,一般的项目中用不到,所以不要轻易就使用,避免过度设计。

(4)我总感觉BLL层是一种鸡肋,或许我一直没有遇到“复杂的大型的”项目?特别有了EF(实体框架)技术之后,我一般把EF做为一层,然后就是界面层了,即直接调用EF自动生成的代码。

(5)有了EF之后,我感觉就没有必要使用LinqToSQL了,当然也没有必要使用原始的ADO.NET了。不过ADO.NET在处理一些小型的数据库时还是很有用的,比如:foxpro,access,excel等。

(6)众多的DAO类应该是可以再进行抽象的,即将它们的共性抽象为所谓的层超类,在C#中可以采用泛型实现,如DAO<T>,其中T代表一个实体类。这样,在DAO<T>中实现共性的增删改查方法,具体的DAO类可以继承自DAO<YourEntityClass>,并扩展一些自己需要的方法。

 

【完】