引言
本文中将向大家介绍我对于是使用实体的一些体验,欢迎大家拍砖。更欢迎提出不同或者相同的意见。
正文
刚开始学会使用实体的时候就是建立一个Entity类库,然后里面的实体被其他各层引用。大家传递和使用的都是这一个类库中的实体,包括前端和后台的项目都是引用这个类库,传递和操作这个类库中的实体。
就像上面的这幅图一样。每个都要添加对Entity的引用。每个项目都是这么做的,也没有发现什么不好的地方。
以前都是做一些小项目,或者是自己Demo一下。上面的做法也没有什么问题,而且看到别人的文章也都是类似这样的结构。后来在学习DDD(Domain Driven Design)的时候,看到了很多的概念。有DTO,VO,PO,BO,DAO,才发现怎么需要这么多的实体类库(有的不是类库,例如DAO)呢?觉得不可思议,这么多维护起来不是很麻烦吗?一下子还没有想到分开这么多类库的好处。
从今年年初开始接触一个大项目,到目前为止才搞完一半。主要的结构也是BLL,DAL,由于前端采用了纯Silverlight展示,所以访问数据库必须要借助服务类的项目(开始的时候我们还是用silverlight3,后来silverlight4可以使用tcp了,但是端口有限制,不适宜在互联网环境使用,容易被防火墙阻断,内网应用可以使用tcp),例如:webservice,wcf,最终我们使用的是WCF。我主要负责后台代码的编写,由于人少,后台我全负责了,包括dal,bll,wcf,一个人搞定。