我所采用的构架,大体经历了如下过程:
1、最开始时,甚至把对数据库的访问直接写在了codebehind中,没有层的概念,没有名字空间的概念。
2、看了些关于分层的文章,改进了一步(以为是3层结构了,实则不是):
物理数据层(数据库/存储过程)
数据访问层(没有按照函数的功能分组,没有类的概念,没有属性的概念,没有域的概念,没有面向对象的概念,只是建立了个cs文件,然后把对数据层的调用的方法都写在了里面)
业务逻辑层(没有)
表现层(以为是业务逻辑层了,直接从codebehind中调用数据访问层的方法,只是调用方法,从来没有用到属性)
有了些许企业级名字空间的概念,还是理解不深
代码的命名规则还很混乱,没有一贯采用Microsoft的大写规则建议
数据表名及字段名称的命名也还很混乱
物理数据层中的存储过程的编写不规范,效率不高
3.看了Wrox的《Asp.Net Web站点高级编程 提出问题-设计方案-解决方案》,在编码规范及名字空间、命名规则上提高了一步,构架方面决定模仿书中的Modules方式。
基本正确地实现了3层结构设计(数据访问层,业务逻辑层,表现层),初步理解了类的设计、属性的设计,并学习使用了自定义的配置文件,并使用了的数据访问层的基类,方便了存储过程的调用,编码效率提高。
4.看了《.Net企业应用高级编程》部分和www.asp.net的AspNetForums的设计,对于企业级代码生成器和(Enterprise Object Builder)和代码中采用的接口技术,非codebehind技术(可能是使用了组件式的开发的缘故?),自定义服务器控件或重写服务器控件等等感觉很好,还没有完全理解采用这些技术在网站构架上的优点。
5.看了些文章,对方案的命名、工程的命名等等又有了些
……