`
Ethan29
  • 浏览: 1634 次
  • 来自: ...
最近访客 更多访客>>
社区版块
存档分类
最新评论

技术要点

阅读更多
  • 关于IDE的选择

         很多时候有人们总是对IDE的选择颇有疑问,也有很多不同IDE的fans,对于是用IDEA还是Eclipse总是很多讨论,我小结一下它们的优劣:

         idea写出代码的质量远高于eclipse。主要是他有独特的PSI技术,一个准确而又智能的parser,能够提取出source的AST。这个parser比Java编译器的parser还要复杂很多,它是在编辑代码实时parse的,即使当前代码还不符合语法,它照样可以work,并且速度超快。然后PSI还支持索引,可以查询代码库的代码语法结构,比如某某class是继承与什么,或者被多少class继承,某某method被多少class override,等等。

其它的IDE就是因为没有这个,所以无法准确得到AST,于是接下来的autocomple,refactor,code inspection,anlysis,增量编译,等等功能都落后。IDEA凭借PSI,在这些方面都是独步天下。反观Eclipse,都是存的时候就自动编译。为什么要自动编译,实际上就是想依赖编译器去拿到这个AST,这样省得自己做AST的解释器,也就是没有PSI这样的东西。但是编译器去拿AST,那不就是类似于spoon了。但是,编译器是为了产生bytecode的,而源代码的很多信息,在bytecode里面是没有的,所以编译器就会忽略这些东西,自然你依赖它就拿不到那些信息了。

 

  •   典型的MVC设计模式

       业务逻辑,数据,都是host在manager,每个manager都有具体的职能。这些manager全部都是public的,如果是OSGI的架构,那他们都是service,然后其它界面的form,都是去侦听manager的事件。一旦事件发生,他们就会相应刷新。对于每一个form,它是一个普通的Java class而已,有个show method,里面封装了显示逻辑。至于需要显示的数据,一种是它自己直接host在class,这种数据都是中间数据,是local使用。另外一种数据就是共享数据,这种数据是通过manager的事件来接收。如果它要产出数据,那也肯定是call manager,set 数据给manager,然后manager处理数据,再广播消息。若是跟其它的UI有联动,那就是其它的UI去侦听这些消息。其实这种模式,不是一个严格MVC,因为manager有M,当然也有一部分的C,因为它是一个事件源。但是manger没有掌握所有的C,还有些C是在form里面自己做了。所以,这个所谓的Manager,除了业务逻辑,更多时候承担的是mediator的角色,而不是用C去概括它。这个mediator就是一个消息源,和数据源。所有的form通过侦听和invoke它来驱动整个UI程序。这种模式最大的好处就是能让各个form都相互独立,互不干涉。很容易做出plugin的架构。若是OSGI的架构,那form都是bundle(不发布任何东西),manager是service bundle。如果再有个UI的manger,里面支持View管理,其实form都是些不同类型view,这样form就能通过UI manger显示在某个地方。于是整个系统就完全变成plugin结构,由UI manger启动,然后各自逻辑manger分别是service bundle,各个form也做成bundle。


 

分享到:
评论

相关推荐

    超限高层建筑工程抗震设防专项审查技术要点.pdf

    为了确保这些建筑在可能发生的地震灾害中具有足够的安全性能,《超限高层建筑工程抗震设防专项审查技术要点》应运而生,为这类建筑的设计与审查工作提供了重要的技术指导。 超限高层建筑工程,根据相关规范定义,...

    《2010超限高层建筑工程抗震设防专项审查技术要点》实施细则参考.pdf

    从给定的文件信息来看,它涉及到的是《2010超限高层建筑工程抗震设防专项审查技术要点》的相关内容,这些文件一般为技术性的操作指南或规范文件,用于指导相关人员如何进行超限高层建筑工程的抗震审查。超限高层建筑...

    Dante技术要点及其应用详解--音频爱好者必看

    《Dante技术要点及其应用详解》 Dante技术,一种基于千兆以太网网络的无压缩、专业级数字音频传输技术,近年来在全球专业音频领域得到了广泛应用。它解决了传统音频系统在大规模、远距离传输中遇到的问题,实现了...

    IIS下搭建Web服务的技术要点探究.pdf

    "IIS下搭建Web服务的技术要点探究" 概述: 本文探究了在 IIS 环境下搭建 Web 服务的技术要点,旨在提高 Web 服务的可用性和可靠性。文章首先介绍了 IIS 的基本概念和 Web 服务器的重要性,然后详细介绍了如何在域...

    基于电商业务中台最佳实践:交易中台技术要点设计之高性能

    接着继续讲,接下来主要介绍交易总体设计的技术要点设计,对于电商中台来说,交易系统是核心中的核心,一开始就需要围绕高性能,高可用,和高扩展三个方面来重点设计。本篇主要介绍高性能设计。 对于高性能的定义,...

    房建施工结构变形缝施工技术要点问题分析.docx

    【房建施工结构变形缝施工技术要点问题分析】 在房建施工中,结构变形缝的施工是一项关键的技术环节,它关系到建筑物的稳定性和耐久性。变形缝主要有三种类型:抗震缝、沉降缝和伸缩缝,每种都有其特定的功能和设计...

    商品住宅装修一次到位材料部品技术要点.docx

    【商品住宅装修一次到位材料部品技术要点】 在商品住宅装修过程中,确保材料部品的质量和技术标准至关重要,尤其是厨房部分,因为这里是家庭日常活动频繁且对安全和环保要求较高的区域。以下是一些关键的技术要点:...

    常见的 Vue.js 十大面试题及技术要点分析

    常见的 Vue.js 十大面试题及技术要点分析常见的 Vue.js 十大面试题及技术要点分析常见的 Vue.js 十大面试题及技术要点分析常见的 Vue.js 十大面试题及技术要点分析常见的 Vue.js 十大面试题及技术要点分析常见的 Vue...

    填充墙砌体自保温系统应用技术要点.pdf

    填充墙砌体自保温系统应用技术要点.pdf

    乒乓球横拍技术要领.doc

    下面,我们将详细探讨乒乓球横拍技术的关键要点。 首先,基础站位是横拍技术的基石。运动员在比赛中需要保持双脚平行站立,脚后跟微抬,双肩宽度与球桌相等,站立距离约40厘米。这一姿势有助于运动员快速反应并移动...

    电磁兼容测试技术要点和主要问题解决方案[汇编].pdf

    电磁兼容测试技术要点和主要问题解决方案[汇编].pdf

    基准地价更新技术要点解读.doc

    基准地价更新技术要点解读 一、总体要求设计思想 基准地价更新技术要点解读的总体要求设计思想主要体现在三个方面:科学性、规程性和前瞻性。 科学性方面,基准地价更新技术要点解读需要严格遵循三个规程:城镇...

    2015年全国职业院校现代制造及自动化技术教师大赛实践操作技术要点.pdf

    不过,标题和描述提到了“2015年全国职业院校现代制造及自动化技术教师大赛实践操作技术要点”,基于这个信息我们可以推测相关知识点。 这个标题涉及到几个关键领域:全国职业院校、现代制造、自动化技术、教师大赛...

    自动化立体冷库规划和建设技术要点专题培训课件.ppt

    "自动化立体冷库规划和建设技术要点专题培训课件.ppt" 自动化立体冷库规划和建设技术要点是物流行业中的重要组成部分。自动化立体冷库的规划和建设技术要点涉及到冷库的分类、冷库发展趋势、自动化立体冷库的形式及...

    查新项目的科学技术要点.pdf

    查新项目的科学技术要点是连接项目申请者和查新员之间的桥梁,它不仅仅是对项目内容的简单描述,更是对项目核心技术和创新点的深入剖析。一份详尽且准确的科学技术要点,不仅有助于查新员更有效地评估项目的新颖性和...

    薄膜物理与技术要点总结.pdf

    然而,根据文件标题《薄膜物理与技术要点总结.pdf》及描述,我们可以推测文件内容可能涵盖了薄膜物理领域的关键概念、物理原理、技术方法和应用实践等方面的知识点。 在此,我将依据标题和描述的信息,结合我对薄膜...

    版健康住宅建设技术要点.docx

    修订版《健康住宅建设技术要点》的内容涵盖广泛,从健康理念的提出到具体技术要点的落实,每个方面都体现了对居住者全方位健康考虑的深入细致。在以人为本的健康理念指引下,建设健康住宅不仅局限于生理健康的范畴,...

Global site tag (gtag.js) - Google Analytics