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

技术要点

阅读更多
  • 关于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

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

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

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

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

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

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

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

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

    自动化立体冷库规划及建设技术要点ppt课件.pptx

    "自动化立体冷库规划及建设技术要点" 自动化立体冷库规划及建设技术要点是冷链物流仓储的一种重要形式,它具有高效、自动化、智能化等特点。以下是自动化立体冷库规划及建设技术要点的详细说明: 一、冷库分类 ...

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

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

    大型视频监控系统的技术要点

    针对这几个特点,我们可以分析得到大型的视频监控系统的技术要点:在平台本身可以提供集中式管理、分布式服务、分级式存储、媒体数据转发、系统的可扩展性;在设备接入技术上统一接入协议、提供视频开发包、中间件...

    新能源汽车技术原理及相关技术要点.pdf

    新能源汽车技术原理及相关技术要点是当前汽车工业的重要研究领域,主要关注如何利用最新技术替代传统内燃机,减少对环境的污染,实现可持续发展。新能源汽车主要包括非常规能源驱动的汽车,如电动汽车、混合动力汽车...

Global site tag (gtag.js) - Google Analytics