HTML5技术

基于.net搭建热插拔式web框架(实现原理) - Eric.Z

字号+ 作者:H5之家 来源:博客园 2015-12-05 09:29 我要评论( )

第一节:我们为什么需要一个热插拔式的web框架? 模块之间独立开发假设我们要做一个后台管理系统,其中包括用户活跃度、产品管理、"账单管理"等模块。每个模块中有自己的业务特性,这些模块都与具体业务高度耦合,很难由一个团队开发完所有模块。这样看来,由

第一节:我们为什么需要一个热插拔式的web框架?

  • 模块之间独立开发 假设我们要做一个后台管理系统,其中包括“用户活跃度”、“产品管理”、"账单管理"等模块。每个模块中有自己的业务特性,这些模块都与具体业务高度耦合,很难由一个团队开发完所有模块。这样看来,由数据事业部的同事来开发“用户活跃度”模块,产品事业部的同时来开发“产品管理"模块会显得更加合理。现在我们假定由不同团队开发不同业务模块,那么这些人如果共同维护同一个项目的话,这个项目会变得非常臃肿,直到最后牵一发而动全身,更不利于新技术、新思想的融入。这里也不排除有大牛可以提前把架构规划的很好,但对于创业公司及快速发展中的公司,他们的业务变化速度真的可以说的上朝谋夕变。所以我们可以把每个项目按照一种规范单独开发,最终把这些模块插入到框架中运行。

  • 沙箱模式 每个模块都由独立的团队开发,很容易发生类库之间的不兼容问题(项目大了什么鸟都有)。我们可不可以把他们隔离起来呢?答案是可以的,我们可以使用appdomain来启动每一个模块。说到appdomain,你大概知道我们要做什么了,但是httpcontext是不允许跨域传递的,这就是本文的关键了,我们在接下来的文章中慢慢解决。

  • 用户及权限、访问入口统一控制        看完上边,你可能会想把每一个模块都作为一个web部署不就行了吗?那如果这样,就需要一套单点登录的机制来协助整个平台的运作了,而且每一个模块中都需要引用权限过滤的相关功能,再加上我们要管理茫茫多的小站点,额,头大了吧。综上所述,我们的框架就是一个整体的权限鉴别入口及功能路由器,协调每一个模块良好运转。


  • 第二节:框架模型

                

    未完待续....

    转载请注明出处:

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • Dora.Interception: 一个为.NET Core度身定制的AOP框架 - Artech

      Dora.Interception: 一个为.NET Core度身定制的AOP框架 - Artech

      2017-05-02 11:00

    • 如何在 ASP.NET Core 中发送邮件 - Savorboard

      如何在 ASP.NET Core 中发送邮件 - Savorboard

      2017-05-02 08:02

    • 十二个 ASP.NET Core 例子 - Savorboard

      十二个 ASP.NET Core 例子 - Savorboard

      2017-04-27 16:01

    • ASP.NET MVC5请求管道和生命周期 - 雪飞鸿

      ASP.NET MVC5请求管道和生命周期 - 雪飞鸿

      2017-04-24 08:04

    网友点评
    a