下面我们来看其中一个插件——AlarmManagementPlugin插件的目录结构,如下所示,你会发现,插件拥有自己独立的bin目
录,在自己的bin目录下,放置着这个功能涉及的程序集。
在传统开发方式中,放在bin目录下的程序集会由.NET类加载器按需去加载,但是当我们要实现插件化方式开发时,需要依赖
于插件框架实现从不同的插件目录中加载程序集。因此,插件框架本质上是扩展了.NET类加载器的功能,使其能够从插件目
录中加载程序集。
2 进一步看插件框架
插件化开发方式不仅仅从程序集的组织方式上发上了变化,更重要的是,在功能的组织和实现也发生了变化。我们用一个非常
典型的分层架构看看二者区别。
下图是一个分层架构的应用程序,由表示层、业务层、数据层等组成,每一个层次都有相对应的功能组成,在表示层,我们一
般是构建了一个主界面,然后由不同的开 发者在主界面上直接放置上菜单及菜单点击事件的响应,同理,其它层次也类似,
不同开发者根据需要实现的功能来添加不同的代码。
在 这种模式下,所有程序员开发的不同层次的功能代码一般都在同一个程序集里面,在开发过程中,团队需要不停的进行合
并,并执行集成测试。下图是大家都很熟悉 的PetShop的项目结构。这里面BLL程序集(项目)放置的是业务逻辑层的代
码,Web程序集(项目)放置的是表示层代码,DALFactory及涉 及的其它DAL程序集则是数据访问层的相关代码。
评论0
最新资源