第一节 概述
毕加索在他的抽象艺术中,仅仅描绘他主题中的本质元素。商业建议或者其他书面文本通常带有内容的摘要或者总结。在这样的心境下,面向对象编程宣扬抽象性——消除无关因素,只保留必须的。例如,如果要开发一个给兽医用的管理软件,你会创建一个Dog类(继承自一个Pet类),包含和狗相关的内容。这个Dog类表示了对真实生活中狗的抽象,但它并不是一个精确的狗的模型,而仅仅是狗在这个软件所需要的那些方面的模型。例如你不会放入一个 chew(Shoe shoe)方法,也不会放入一个lickEmbarrassingly()方法,因为你的软件不需要对狗的这些行为建模。提炼对象至最小必须的表示可以简化复杂性,加速开发过程,并且大幅削减错误。
JFace是在SWT之上的一层抽象。在SWT中,你通常创建控件,给它们添加数据,调用它们的方法。JFace从基本的直接与控件打交道上退了一步,将他们包装成一个层次,以使这些控件使用起来更加简单。它隐藏了许多实现的细节,减少了为了实现目标而必须写的代码行数。
和SWT不一样,JFace并没有现成的和Eclipse分开发布。这意味着你必须安装Eclipse以获得JFace。JFace并不要求你在硬盘上保留Eclipse,所以如果愿意的话,你可以自由的将JFace的JAR文件复制到其他目录下,然后将Eclipse删去。JFace的JAR 文件全部在eclipse/plugins目录下,分散在不同的JAR文件中:
- org.eclipse.jface_3.0.0中的jface.jar
- org.eclipse.core.runtime_3.0.0中的runtime.jar
- org.eclipse.osgi_3.0.0中的osgi.jar
- org.eclipse.jface.text_3.0.0中的jfacetext.jar
- org.eclipse.text_3.0.0中的text.jar
你可以将这些文件复制到你喜欢的任何地方,并且必须将这些文件(或者至少是你用到的那些)与你的JFace程序一起发布。你并不需要在每一个程序中都用到所有这些文件,所以可以仅仅发布你的程序所依赖的那部分。