65.9K
CodeProject 正在变化。 阅读更多。
Home

企业应用程序应用程序框架

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.38/5 (9投票s)

2008年3月22日

CPOL

5分钟阅读

viewsIcon

44939

对各种框架的描述,用于更轻松地开发完整的企业级 .NET 应用程序

引言

在我目前的工作任务中,我必须为开发企业解决方案找到一个好的基础框架。我以前从未尝试过进行此类项目。我想找到一个提供模型视图控制器 (MVC) 模型、抽象层和图形用户界面 (GUI) 功能的框架,这样可以缩短开发时间。

背景

在这个项目中,我们已经构建了许多服务,主要目标是将现有服务与自定义开发集成。具体来说,我们有一些 Web 服务和数据库,并且我们希望开发一个可以与它们通信的新 Web 用户界面。新的 Web 用户界面必须对最终用户友好且易于使用。理想情况下,我们还希望有一套控件可以为我们完成一些功能。我在搜索过程中查看的工具和框架是:

  1. ASP.NET 3.5 MVC 框架
  2. Castle Project - Mono Rail
  3. Spring.Net
  4. DotNetNuke
  5. Iron Speed
  6. ASP.NET Maker
  7. Code Smith

ASP.NET 3.5 MVC 框架

2007 年 10 月 6 日,Scott Guthrie 在德克萨斯州奥斯汀的 AltNetConf 上正式推出了 ASP.NET MVC 框架。虽然在 Java 领域有几种 MVC 框架,但 ASP.NET 一直提供 Web Forms 作为默认模型。对于 .NET 开发人员来说,MonoRail(稍后讨论)到目前为止一直是 Web 应用程序的唯一 MVC 替代方案。但什么是 MVC?模型-视图-控制器 (MVC) 是一种成熟、经过验证的表示层架构。它同样适用于胖客户端应用程序和 Web 应用程序。应用于 Web 应用程序时,其特点是控制器仅在一个 HTTP 请求的生命周期内存在,然后就会消失。但是 Web Forms 有什么问题呢?许多开发人员认为 Web Forms 使用的 Postback 和 ViewState 模型会带来痛苦和烦恼。通过事件处理程序和页面生命周期,开发人员会陷入使用 ViewState 和 Postbacks 管理状态,而当在无状态 Web 的实际情况中应用时,该模型会变得脆弱,并且在复杂性扩展时存在问题。

Castle Project - Mono Rail

Castle 是一系列项目,包括数据库访问层(使用 NHibernate 支持 ActiveRecord 实现)、模板引擎(NVelocity 和 Brail 仅是其中两个示例),以及一系列面向快速应用程序开发的各种其他服务。MonoRail 是 Castle Project 的一个组件,是一个构建在 ASP.NET 平台之上的开源 Web 应用程序框架。受到 Ruby on Rails Action Pack 的启发,MonoRail 与标准的 ASP.NET Web Forms 开发不同,它通过强制使用模型-视图-控制器 (MVC) 架构来实现关注点分离。该框架通常与 Castle ActiveRecord 一起使用,Castle ActiveRecord 是一个基于 NHibernate 的 ORM 层。

优点 缺点
  • 符合 MVC 标准
  • 集成到 Visual Studio IDE
  • 使用 NHibernate 作为 ORM 层
  • 视图引擎种类繁多
  • 处于 RC3 状态
  • 视图引擎易于使用,但功能有限
  • 无法使用或很难使用现有的 ASP.NET 控件,如 GridViewFormView 等。

Spring.NET

Spring.NET 是一个开源应用程序框架,可让企业级 .NET 应用程序的构建更加轻松。Spring 提供基于经过验证的设计模式的组件,这些组件可以集成到应用程序架构的所有层中,从而帮助提高开发效率并改善应用程序的质量和性能。

优点 缺点
  • 处于稳定版 1.1
  • 使用 NHibernate 作为 ORM 层
  • 数据绑定、验证和本地化
  • 配置和设置复杂

DotNetNuke

DotNetNuke 是一个开源 Web 应用程序框架,使用 VB.NET 编写,用于 ASP.NET Framework。该应用程序的内容管理系统可通过使用皮肤和模块进行扩展和自定义。

优点 缺点
  • 处于稳定版 4.8
  • 数据绑定、验证和本地化
  • 易于使用且符合 MVC 标准
  • 将所有非相关信息(如页面)存储在数据库中。
  • 面向 CMS 用途

Iron Speed

Iron Speed Designer 是由 Iron Speed Inc 开发的快速应用程序开发 (RAD) 工具。

优点 缺点
  • 处于稳定版 5.0
  • 数据绑定、验证和本地化
  • 在 CRUD 操作上快速高效
  • 带有自定义逻辑的页面难以管理。

ASP.NET Maker

ASP.NET Maker 3 是一个功能强大但易于使用的 ASP.NET 代码生成器,适用于 ASP.NET 2.0。它可以快速地从 Microsoft Access、Microsoft SQL Server、MySQL、Oracle 和其他 ODBC 数据源创建一套完整的 ASP.NET 2.0 页面。您可以即时创建允许用户在 Web 上查看、编辑、搜索、添加和删除记录的网站。
ASP.NET Maker 3 提供了许多有用的功能,包括 3 层架构、ASP.NET AJAX、增强型快速搜索、钻取主/明细、高级安全、用户注册系统、自定义视图、报表、导出、文件上传等。这是一个可以为您节省大量时间的工具,适合初学者和经验丰富的开发人员。

优点 缺点
  • 处于稳定版 3.3
  • 数据绑定和验证
  • 在 CRUD 操作上快速高效
  • 生成原生 ASPX 控件
  • 带有自定义逻辑的页面难以管理
  • 使用 GUID 类型作为主键 (PK) 需要进行一些更改
  • 不易自定义 GUI

CodeSmith

CodeSmith 是一款软件开发工具,可帮助您更快地完成工作。从技术上讲,它是一个基于模板的代码生成器,可自动创建任何语言(C#、Java、VB、PHP、ASP.NET、SQL 等)的常用应用程序代码。

CodeSmith 包含许多有用的模板,以及用于生成经过验证的架构(.netTiers、CSLA、NHibernate、PLINQO、Wilson's ORMapper、APOSA 等)的整个模板集。您可以轻松修改任何模板或编写自己的模板,以完全按照您想要的方式生成代码。

CodeSmith 可以帮助您在更短的时间内生成更高质量、更一致的代码。

NetTiers 模板

.netTiers 是一组开源代码生成模板,可帮助您在短短几分钟内简化为 Microsoft .NET 应用程序创建自定义应用程序层的任务,并且是免费的。

优点 缺点
  • 处于稳定版 2.2
  • 生成可重用代码
  • 从模板生成代码
  • 生成原生 ASPX 控件
  • 在 CRUD 操作上快速高效
  • 高度定制模板

结论

选择合适的框架非常困难。
更好的选择是能够更好地映射并解决您问题的框架。一些框架侧重于 GUI 功能,另一些侧重于抽象层,还有一些侧重于依赖注入 (DI)。

参考文献

© . All rights reserved.