繁体   English   中英

基于ASP .NET MVC的自以为是的Web框架

[英]An opinionated web framework on top of ASP .NET MVC

根据自以为是,我的意思是该框架将锁定您遵循某些约定或技术或架构。 类似于Rails或Django的东西。 这将使构建深度集成的插件成为可能。

使用Rails / Django的一个主要优点是gem / plugins。 如您所知,您将找到一切宝石:管理页面,身份验证,评论,丰富的帮助等...

目前,MVC可以通过使用DLL来模仿该行为。 但是,据我所知,MVC没有允许深度集成插件的标准体系结构 - 例如,我们不能有注释系统,因为要保存注释需要存储库,而典型的MVC项目可以是使用L2S / EF / NHibernate / MongoDB /等。

在我看来,这样做的一个好方法是:

  • 建立一个采用MEF的核心“核心引擎”项目
  • 核心引擎将暴露:
    • 集装箱/服务地点
    • 几个接口(如IRepository)
    • 像ApplicationStart这样的一些“钩子”以及你可以想到的所有其他钩子/事件
    • 还有什么?
  • 要用这个
    • 添加对“核心引擎”二进制文件的引用
    • 设置一些配置(一个例子是IRepository的一个实例)
  • 开发人员现在能够包含任何依赖于“核心引擎”的插件,并且这些插件可以完全访问应用程序事件和存储库
  • 显然,插件开发人员将开发针对核心引擎的插件 - 他们从不直接与应用程序对话,而引擎是两者之间的中间件。

我们的目标不是拥有完美的企业Web框架......而是构建像Django和Rails一样的东西,MVC似乎缺失:重度但流行的组件的高可重用性。

以前做过吗? 有一个更好的方法吗?

您可能想看一下MVC Turbine提供的产品。 这不是你提到的一切,但它将是一个很好的起点。

我认为Orchard项目可能与您正在寻找的类似。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM