日期:2014-05-17  浏览次数:21083 次

什么是插件式架构?什么是模块化架构?以及它们优缺点
如题,请大大们耐心给信任解答,不胜感激!~给个有用的链接也行!~(中文的,不懂英文)

------解决方案--------------------
我的理解是:前者更加偏向于对对常用功能的高度封装,后者更加偏向于降低耦合度。总之2者的具体区别要看环境而定的。

优点:这些东西后期的可重用性比较好

缺点:需要开发人员就较高的的水平
------解决方案--------------------
探讨
我的理解是:前者更加偏向于对对常用功能的高度封装,后者更加偏向于降低耦合度。总之2者的具体区别要看环境而定的。

优点:这些东西后期的可重用性比较好

缺点:需要开发人员就较高的的水平

------解决方案--------------------
起名者应该是这个意思,插件化,是架构可以接受第三方的插件,就像很多软件支持插件一样,这样你可以为一个已经存在的系统增加不同的功能,而不用修改系统
模块化,是系统自身的模块,不是第三方的,你可以控制每个模块的是否可用等,但不能由第三方提供新的模块功能
------解决方案--------------------

1.例如shopex里面有很多插件,可以按照要求自己开发,这样要留下要求和接口实现对接和兼容
2.模块化结构例如我们公司的一个系统,两大系统,12大业务,52个模块。根据用户的报价和实际情况实现自由选择性拼装。
------解决方案--------------------
字面上理解,所谓“模块化”是一些经院是学校培养出来的学生所经常纠结(而且只会这样)的所谓“自顶向下分解”方法的对应物。既然只会自顶向下分解,那么思维非常僵化(美其名曰“全面”),而且不会巧妙地顾及左右和将来的扩展,一旦遇到变动往往不得不推倒重来。

实际上“自底向上”拼凑跟上面的思路也是类似的,只不过往往表现得不是非常学究,所以更加容易被人瞧不起。不过很多人都是习惯于自底向上地拼凑系统的。

那么所谓“插件式”我猜其被某些人时髦地加以利用,也就可以理解了。它代表着一种自中间开始、寻找自然的关联关系去扩展系统的思路。既不很高深,也不很具体。但是这种说法的“灵活性”是足够了的。不过到底什么才是“插件”,我们不看忽悠,看看实际再说!
------解决方案--------------------
既然有“插件”,那必然有“插槽”。这个“插槽”就是主系统预留的接口。它定义好它能提供的信息,并要求一个输出结果。然后插件开发者去实现这之间的过程。“插槽”的设计关系到整个系统的可扩展性。

photoshop中的滤镜应该是插件应用的成功例子。ps给出一张图,要求插件提供者提供自己的图像处理算法。
再比如游戏大厅,下载游戏,即需安装,也是一种松散式的插件式系统。
还有我们常用的visualstudio的源代码管理插件。vs要求实现绑定、提交、获取等等源代码管理操作。不同的插件实现方法千差万别,但反应在vs中,操作方式是大同小异的。

相对来说,BS系统实现插件式比CS要容易一些。