技术开发 频道

基于Monorail的系统功能模块化


【IT168技术文档】

  模块化总是让人比较容易理解的,如果你的程序可以让人很容易理解,那是多么美好的事情!不论是对自己或是对别人。N层的开发让人看到了模块化的威力,这里不讨论整个系统的结构,而是细分到系统的每个功能,比如说一个网站的功能,可能有会员管理模块,有内容管理模块等等,DNN等一系列cms在这点的实现是很强大的,但是似乎真的“大”了一点。最近看了一些基于插件式的内容管理系统,不免让人觉得有些过度设计的感觉,web本该如此简单,太复杂的架构感觉有点沉重。最近用到Castle的Monorail,发现了一个好玩的东西,说出来分享下,知道的就不要乱拍啦!
  首先我有一个简单的网站,里面已经有几个简单的功能了。因为简单,所以就想不断地完善,添加功能,步骤很简单。
  看配置文件
<?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="monorail" type="Castle.MonoRail.Framework.Configuration.MonoRailSectionHandler, Castle.MonoRail.Framework" /> </configSections> <!-- For more on MonoRail configuration see http://www.castleproject.org/monorail/documentation/v1rc3/index.html --> <monorail smtpHost="yoursmtphost" useWindsorIntegration="false"> <controllers> <assembly>ExPortal</assembly> <assembly>ControlOther</assembly> </controllers> <viewEngines viewPathRoot="Views"> <add xhtml="false" type="Castle.MonoRail.Framework.Views.NVelocity.NVelocityViewEngine, Castle.MonoRail.Framework.Views.NVelocity" /> </viewEngines> </monorail> <system.web> <httpHandlers> <add verb="*" path="*.castle" type="Castle.MonoRail.Framework.MonoRailHttpHandlerFactory, Castle.MonoRail.Framework" /> <!-- block direct user access to template files --> <add verb="*" path="*.vm" type="System.Web.HttpForbiddenHandler" /> <add verb="*" path="*.njs" type="System.Web.HttpForbiddenHandler" /> <add verb="*" path="*.brail" type="System.Web.HttpForbiddenHandler" /> <add verb="*" path="*.brailjs" type="System.Web.HttpForbiddenHandler" /> <add verb="*" path="*.st" type="System.Web.HttpForbiddenHandler" /> </httpHandlers> <httpModules> <add name="monorail" type="Castle.MonoRail.Framework.EngineContextModule, Castle.MonoRail.Framework" /> </httpModules> </system.web> </configuration>
0
相关文章