Ulipad-框架分析(一)
2011-02-21 09:55 ubunoon 阅读(379) 评论(0) 编辑 收藏 举报ulipad是一个limodou用python+wxPython编写的IDE,功能很强大,支持多种语言,自定义themes,内建python的shell等等,但是也有一些缺陷,比方说调试功能比较麻烦,代码风格也比较杂散,开发文档比较少,不容易进行二次开发,最新版本为4.0。有关ulipad的更多信息可以查看:
http://code.google.com/p/ulipad/
ulipad采用mixin方法进行主要框架的搭建,然后逐渐将界面窗口,菜单等添加进行去,添加的方法非常类似wordpress的插件编写方式。所谓的mixin方式,与C++的多重继承类似,只是python有自己的多重继承方式,又是动态语言,容易绑定的关系,因此更加灵活些。
ulipad的主要实现功能在modules和mixins两个文件夹下面,modules是主要框架实现功能,mixins目录下是各种功能的实现,整个结构不是特别清晰,未能够将界面与功能也区分开来。
自然,整个技术核心是mixin,在modules/mixin.py中的Mixin类实现的,有一个类变量,__mixinname__,表示继承自Mixin子类名称,然后通过调用initmixin方法来将类中的信息添加到__mixins_funcs_time_set__和__mixinset__两个dict中,通过__mixinname__来区分不同的类,不明白,为什么ulipad不使用metaclass技术。这个类提供了基本的插件调用方法,callplugin_once,callplugin,execplugin_once以及execplugin四个方法。
通过mixin.py中的setMixin和setPlugin方法,添加mixin方法和plugin方法。
*
* Copyright (c) 2011 Ubunoon.
* All rights reserved.
*
* email: netubu#gmail.com replace '#' to '@'
* http://www.cnblogs.com/ubunoon
* 欢迎来邮件定制各类验证码识别,条码识别,图像处理等软件
* 推荐不错的珍珠饰品,欢迎订购 * 宜臣珍珠(淡水好珍珠) */