zoukankan      html  css  js  c++  java
  • 关于桌面界面和插件设计思想

    关于桌面界面开发:

    Desktop版本的界面换语言啦!

    原先考虑的JavaFX,熟悉了一个星期。

    它是一个动态脚本语言,理论上是可以作出更快速的开发,和Java类的互操作也有问题。

    可惜,目前的IDE(NetBeans IDE)不能把它的优势完全发挥出来,连开发JavaFX的NetBeans插件都是Beta版本的- -

    相比较,应该选择Swing。

    所以今天早上我把桌面版本的界面重新做了下设计,原型已经出来了。

    下午结合辞典引擎的服务,已经可以搜索词汇了 :-)

    不过,目前问题比较大的是性能问题,和上次讨论的结果一样,性能问题出来了。

    试验中,我加载了两部辞典(物理大小20.4Mb,词汇共计62万左右),索引文件完全加载后程序运行起来至少耗费50Mb内存。。。。

    关于索引的部分必须要重新设计一下!

    到目前为止,我们的第一轮迭代基本完成了(14号迭代0结束,刚好2个星期),大家要注意关注项目管理中心的素材、任务、缺陷、Issue的计划。

     

    关于支持Plugins的设计思想:
    现在的词库引擎核心是Fixed和Dynamic两类。Fixed下目前只有StarDict的查询引擎;Dynamic下有基于XML的查询/编辑引擎。

    我觉得可以把Fixed类型的词库查询引擎做成支持插件的设计,可以让其他开发人员扩展查询引擎。举个例子:

    1. John开发了一个支持dict.org辞典格式的引擎

    2. Vanessa开发了一个可以在WikiPedia上搜索词汇的引擎

    他们的引擎都实现了Fixed类型引擎的接口并编译成了Jar包,我们的辞典框架可以方便地选择所需要的辞典引擎。对用户来说,可能就是在下载词库 引擎Jar后点,在StongeAge的词库引擎管理界面里来个"Install Query Engine",以后可以方便地 选择/反选/卸载 各种引擎。只要词库查询引擎够数量,世界上还有什么单词查不到的呢?这大大方便了用户!

    上面只考虑了Fixed类型的词库查询因为Fixed的查询方法前人已经有辞典格式/搜索服务接口来规定了,要作edit是不可能的。

    但,这至少有两个优点:

    1. 我们可以集中努力去做Open & Real-time的特性

    2. 让其他开发词库引擎的开发者可以更专注地做好Fixed类型搜索

    以上只是目前的想法,技术方面也作了一些研究:

    OSGi4.1,eclipse3.x用的就是这个规范(基于Equinox框架)

    这个是Java插件设计目前在业界据说使用最好的,但技术本身的复杂度还需要继续一定时间来实验。

     

    好了,今天又罗嗦了一推,还是那句话:大家要积极讨论啊,交流有益身心健康:-)  
  • 相关阅读:
    Data Structure and Algorithm
    Data Structure and Algorithm
    Data Structure and Algorithm
    Data Structure and Algorithm
    Data Structure and Algorithm
    Data Structure and Algorithm
    Data Structure and Algorithm
    Data Structure and Algorithm
    Data Structure and Algorithm
    Data Structure and Algorithm
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6470621.html
Copyright © 2011-2022 走看看