您的位置:首页 > 运维架构 > 网站架构

YbRapidSolution for WinForm 插件生成项目总体架构介绍

2012-10-09 09:48 337 查看
前一章介绍了YbRapidSolution for WinForm 代码生成插件的一些特性,本章将对其生成的 WinForm 项目的总体架构进行分享,同时将对各个层次组件的选择理由和特点进行简要分析,最后将提供 N-Tier 部署的 Demo 下载。

首先来看看总体架构图:
POCO 实体
如果你要在开发过程中添加实体,你也可以在YbSoftwareFactory中单独生成:
Web.Config

6、业务逻辑层(CSLA.NET):
业务逻辑层可供选择的框架主要有CSLA.NET和DevForce。
其实DevForce更应该看作是一个数据访问层的组件,放在这里和CSLA.NET做比较是因为二者有很多相似之处。例如,二者都支持N-Tier部署,经过简单的配置就可在N-Tier层部署和本地部署之间切换,编写的代码可同时供ASP.NET、WinForm、WPF、Silverlight、WP7等多种类型的应用程序调用;都支持身份认证、授权等;完整的验证模型等。DevForce的官方地址是:http://www.ideablade.com/
DevForce的实现基于Entity Framework,提供离线模式,甚至经过简单的配置就能把不同的实体映射到不同的数据库连接上;支持服务器端数据推动模式(无需轮询,这对于某些应用下提高性能大有帮助),编写少量代码就可实现把数据从服务器端推送至WinForm客户端、WPF客户端和Silverllght客户端;更加方便的查询和分页等。可以说也是非常的强大,不过Express版仅支持10个实体。总体来说,DevForce和数据访问功能的联系要比 CSLA.NET 更加紧密。
选用CSLA.NET的主要原因是其不仅具有N-Tier部署能力,还具有完整的对象状态跟踪、身份认证与授权、实体验证(YbRapidSolution for WinForm 使用了.NET 4.0的DataAnnotations进行验证,CSLA.NET提供了完美的支持和集成)等功能,并且支持N层撤消与灵活的业务逻辑规则的制定。CSLA.NET充分考虑了界面层的一下需求,例如,界面层判断对象是否修改并对用户进行提示之类的具有超强用户体验的功能就是建立在对CSLA.NET的对象状态跟踪的基础之上的。
CSLA.NET教程中有句非常经典的话是:“对于数据库设计而言,有统一的标准规范可循(例如数据库设计的范式),而对于面向对象的设计而言,却没有统一的设计标准和规范,设计具有很大的随意性;数据库设计往往看重的是对结构的规范,而对面向对象的设计来说,往往需要优先考虑的是对对象的行为进行规范”。
根据这个指导思想,CLSA.NET主要根据对象的普遍行为设计了八种类型的基类对象,你可根据对象的具体行为选择合理的基类并实现它,具体的业务逻辑层主要就是建立在这八种对象的具体实现上。同时,为实现N-Tier部署的功能,这些对象均是可序列化的,这也是CSLA.NET的显著特征之一。当然,CSLA.NET也比较抽象,学习成本较高。

7、界面层(DevExpress):
选DevExpress作为界面层的主要原因是其不仅界面美观,而且功能也相当强大。界面不仅作为人机交互的接口,在很大程度上也是对产品的包装,在一把手工程流行的年代,一套美观、易用的界面在很大程度上决定了项目的成败和产品的价值。VB时代曾经使用过Component One组件, Telerik控件看似也不错,但没用过无从比较。

附一:YbRapidSolution for WinForm Demo下载:运行环境-.NET 4.0。服务层部署在 Internet 上,,可直接运行;如需在本地部署,除了安装数据库外,就是修改配置文件,这里不再详述。

附二:YbSoftwareFactory V2.2 下载,运行环境-.NET 4.0。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: