事实上,很多应用程序基于插件式结构开发,可以很方便了扩展软件的功能,并且这些功能完全可以依托于第三方开发者,只要提供好接口和完备文档,比如wordpress、谷歌火狐浏览器等。
Python这样的动态语言天生就支持插件式编程。与C++相比,Python已经定义好模块的接口,想要载入一个插件,一个__import__()就能很轻松地搞定。不需要特定的底层知识。而且与C++等静态语言相比,Python的插件式结构更显灵活。因为插件载入后,可以利用Python语言的动态性,充分地修改核心的逻辑。
——摘录于“如何设计插件式结构的程序,兼谈Python语言的动态性”
个人在开发个人博客站中,由于为了更“高大上的效果”,参考了一些文章和wordpress插件代码改造成了简单的插件式,把一些内置的“功能点”改造成为了插件包,文档,文档,额。。。。。。
本站源码——EauDouce当前采用了这种结构,目前插件包列表如下:
EauDouce插件文档:https://github.com/staugur/EauDouce/blob/master/docs/plugin.md
------------------------------------------完美分割线-------------------------------------
Web应用程序插件式结构,能查到的资料,我貌似没google到,便整理整理分享出来,托管到GitHub上:https://github.com/staugur/Flask-Plugin-Development-Kit。
实现还是很粗陋,文档有时间整理下,有需要的朋友欢迎fork、star,有bug请提issue。
参考:http://hgoldfish.com/blogs/article/81/
领取专属 10元无门槛券
私享最新 技术干货