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插件设计目前在业界据说使用最好的,但技术本身的复杂度还需要继续一定时间来实验。

     

    好了,今天又罗嗦了一推,还是那句话:大家要积极讨论啊,交流有益身心健康:-)  
  • 相关阅读:
    C#综合揭秘——细说事务
    软件项目管理流程总结
    WCF揭秘——自定义绑定
    WCF揭秘——共享数据契约
    反流程升职记
    .NET基础篇——利用泛型与反射更新实体(ADO.NET Entity Framework)
    先睹为快:Visual Studio 11测试版已于2.29在微软官方网站正式发布
    .NET基础篇——分部类和分部方法
    C#综合揭秘——深入分析委托与事件
    .NET基础篇——反射的奥妙
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6470623.html
Copyright © 2011-2022 走看看