eclipse插件开发中“资源”的启示

最近一直在从事基于eclipse的插件开发工作,其实本身就开发过程来讲是异常的痛苦。一直以来都在用java写业务逻辑,而很少涉及到有关UI方面的编程,可能很久以前有用过swing的相关内容,看过一点点swt/jface的东西,但是都没有深入了解,以至于一个简单的TreeView的展现也研究了半天。当然,这些都不是主要内容,是想要谈一下有关资源和面向接口编程的内容。

在较早前的时候有看过一些有关面向接口编程的概念,但是大规模应用面向接口的编程还是都没有特别的使用过。在eclipse的资源管理中,大量采用了接口的方式,如IResource、IFolder、IFile、IPath等内容。除看来是一种令人头大的设计,因为接口就意味着可能很多内容需要自己来实现,灵活性的代价就是复杂度。但是仅仅在eclipse这个应用环境中,我们需要做的事情几乎是操作一个现有的资源,抑或者是通过已有的API来创建类似的资源,于是这个时候,接口表现出来很强势的特性,接口本身:仅仅描述了某个资源的能力,通过接口的多实现能力(multi-implementation),大大降低了java只支持单继承对我们造成的诸多不便

在操作的时候,我们通过一些eclipse框架相关的API获取到资源的实例,而操作这些实例的句柄(引用)则是一个个的接口,实际上,这个过程会变得更加清晰。

之前看过一本书,有讲到继承(extends)和实现(implements)的优劣,后来就会有看到一个概念,就是利用接口来作为功能的标志,接口的多实现是平面的,而继承则是垂直的,合理的使用接口,将能够有效地控制整个系统的(或者工程)的包深度,这对维护是一个很大的好处。这一类的代码其实很多地方都有使用,包括swt/jface库,甚至是在java的源码中,也都大量采用。

有些具体的代码在以后有可能会贴上来一起学习,有些内容还需要琢磨。

继续……

你可能感兴趣的:(eclipse,编程,UI,框架,swing)