DotNetFresh

博客园 首页 新随笔 联系 订阅 管理
没有做非常深入了解,仅仅是一些大概的感觉:
首先,不愧是Asp.Net小组的开发人员写的,将Asp.Net的特点优势发挥得淋漓尽致,丰富强大的表现层,支持换肤等高级特征,基本上沿袭了Asp.Net Forum的技术。
但是,CS并不适合作为企业的开发架构,原因如下:
1、中间层和数据层很弱,虽然数据层提供了所谓的“Provider"模式,可以支持切换各种不同的数据源,但是业务逻辑依然采用的事务脚本的方式,虽然CS拥有一些领域实体类,但是这些实体基本上是用在表现层,在业务并没有针对领域建模,大部分业务逻辑依然被封装到的存储过程中,是针对表编程,而不是面向对象编程。
2、为了实现Provider模式,CS将所有的业务逻辑接口都提取出来,都放在CommonDataProvider中,这样会导致该文件非常大,管理起来比较困难,而且具体的实现类则更夸张,Sql的SqlCommonDataProvider文件竟然达到了4000多行,这还仅仅只是一个论坛+BLOG+照片管理的逻辑而已,假如是企业级应用,那简直不敢想象。
3、虽然采用了对象实体类,但是没有采用ORM,Relation到Object的转换竟然全都用手工!运行速度可能会比较快,但是开发效率嘛。。。。,假如是做企业开发也这样,那完蛋了。
4、表现层的构造虽然巧妙,但是太复杂,不适合企业的快速反应开发,企业用户的需求变化很频繁,不可能用这种用CS代码写自己的服务器控件的方式来慢慢的精心构造一个功能强大支持换肤的表现层。
综上所述,我个人认为Community Server只适合学习Asp.Net和代码编写技巧,架构则不适合模仿,除非你对Asp.Net的理解已经达到了CS作者的这种程度,否则采用这种架构来开发企业应用会死得很惨。
posted on 2005-07-27 09:39  DotNetFresh  阅读(2307)  评论(12编辑  收藏  举报