最近接了一个项目,但是项目比较大一个人在要求的时间根本无法完成。没有办法,只有找外援。
外援找到了,为了代码的公用性,我们采用了比较普遍的三层架构的方式。
但是我们没有远程的VSS服务器,于是最后商定。一个前台一个后台的方式来做。
但是做着做着又出现问题了,项目需求是不断变化的,于是数据库就发生了变化,数据库发生了变化,双方的东西又不一致了。没有办法,就采用了公用的Model层和数据操作层。
但是做着还是会因为数据库结构的发生变化而导致DAL层发生变化。最后我们通过一段时间的磨合,采用了abstract类的方式而得到解决。同时也能让你的代码达到更好的协作性。当数据库发生变化时,只要不设计到前台和后台的一些变化,不会要求两变都进行更改。从而不会疲于奔命。
以其中一个DAL作为一个基类,另外一个继承于其下每当一个数据库结构发生变化,于是生成一个DAL层和Model进行下覆盖就好了。另外一个只管继承,只要当涉及到这个功能的时候更新下DAL层和Model层就好了。
结构示例:
SystemAdmin.web
System.BLL
System.Data --------数据库操作基类
System. Model -------基础类
System.DAL(abstract类) --------基础类
System.WebSiteDAL(继承于System.DAL)
System.WebSite
以前还没有涉及过远程协助开发,这次的开发给我很大的启发意义。希望大家拍拍砖。
等有空了 我会把Test代码贴上。让大家更好理解一点。