Fork me on GitHub
ASP.Net MVC的一个开源框架

Catharsis是一个基于ASP.Net MVC的一个开源框架,之前在codeproject上看到的。在我的2011生活看板中也说到今年准备给OpenExpressApp增加B/S支持,所以最近花了几天时间看了一下Catharsis,以下简单介绍一下。

Catharsis介绍

  Web-application framework, multi-tier (5-tier) Architecture (SQL or XML is persitence, DAO as the only access point to get/store data -NHibernate 3.0, Facades as the only Business rule validation place, MVC pattern (Views on the RAZOR only) and UI (HTML, CSS and JQuery).

ASP.NET MVC 3.0 RC - Razor,
The Web-application framework gathering the best practices and design patterns. 
Strongly OOP, multi-tier Architecture, NHibernate 3.0, XML, ADO.NET
VS 2010, .NET 4.0 (Contracts, Covariance, Named and Default parameters)

项目地址:http://catarsa.com

http://www.codeplex.com/Catharsis/

文档:http://www.codeproject.com/KB/applications/Catharsis_part3.aspx

主界面:

架构图

Solution结构

根据上面的架构图,从一个示例Solution可以看到各自对应的项目

通过向导生成实体对应的完整代码

结合VS,Catharsis提供了Recipe来生成项目代码文件,在生成实体时可以自动生成各个层的对应代码

Controller继承体系

以下是框架对实体控制器的一个继承体系,框架特意抽取了一个CodeList来存储具有Code、Name的简单列表的类,这个类可以使用smallint、tinyint来作为主键以减少数据库存储空间

  • CurrencyController:Currency为一个示例实体,这个为特定实体控制器
  • CodeListController:具有Code、Name的一个内置实体控制器
  • EntityController:通用的具有读写行为的控制器(添加、更新、删除)
  • ReadController:通用的具有读取功能行为的控制器(查询、列表、详细信息)
  • WebController:not only for entity, IMasterModel introduced, service operations (ObjectBinding())
  • Controller: ASP.NET MVC框架的控制器

一些不足

  • 运行比较慢
  • 界面不太美观
  • UI模板抽取不是很好
  • 没有什么太吸引我的地方

可借鉴的

  • 强OO、多层框架
  • 实体控制类的继承
  • ASP.Net MVC的使用
  • 多语言的支持

 

由于没有细看,很多具体实现还有待细看,毕竟我对B/S开发还有很多需要学习的,所以以上分享可能会有偏差.

今天给大家介绍的是基于ASP.NET MVC的一个开源社区项目Orchard,本篇主要介绍一下Orchard是什么,如何下载安装以及安装过程中我遇到的几个问题和解决办法。

    Orchard是一个免费和开源的社区交流项目,致力于在ASP.NET平台开发应用程序和可重用性组件。它将创建用于ASP.Net应用和扩展的共享组件,以及修改这些组件以便使其应用于终端用户,脚本人员和开发者。我们也寻求与现有的应用程序的作者建立伙伴关系,以帮助他们实现自己的目标。使用的开源协议是OSI认证的 New BSD license。

    Orchard项目的计划目标是以下三方面:

  1. 独特的基于.Net, 能够吸引终端客户,脚本人员和开发人员的应用程序;
  2. 一个可复用的组件集合并能够简单建立这些应用;
  3. 一个强有力的社区去帮助定义这些应用和扩展。

    在近期,Orchard 项目致力于发布基于.Net CMS 的程序,这些程序允许用户快速建立以内容驱动的站点,并且提供扩展框架能够允许开发人员和定制人员通过模块和主题增加额外的内容。你可以通过 Orchard Project Site(http://orchardproject.net) 去学习更多关于这个课题的内容。以下为项目网站首页:

下载安装

作为想学习这个社区网站如何设计的架构和开发人员来说,下载代码是必须的,所以我选择在http://orchard.codeplex.com/releases/view/50197下载1.0版本的源代码,然后发布到IIS上

还可以通过其他方式安装,可以参考Orchard 发布1.0版本和ASP.NET MVC 3 RTM

注意:如果你现在下载它推荐,当发布时会出现文件缺失的错误提示,所以你还是选择和我一样的方法吧

运行可能会遇到的问题

  1. 现象:提示没有安装ASP.Net
    原因:是在装完VS2010之后再安装系统的IIS组件的,所以IIS还未安装ASP.NET相关组件,所以发布后运行会出现这个错误
    解决方案:执行相应版本的aspnet_regiis.exe –i
  2. 现象:安装主题或模块报错

    原因:由于下载主题后需要拷贝文件,由于目录的安全性没有添加用户修改权限所以不能安装
    解决方案:给系统的Temp目录增加everyone用户修改权限后再次安装后正常

例如安装下面并应用这个主题时主界面如下图所示,看起来还比较酷吧:)

 

后面我将会继续介绍它的具体功能以及技术架构方面的内容。

posted on 2011-01-20 09:23  HackerVirus  阅读(1126)  评论(0编辑  收藏  举报