Chinaunix首页 | 论坛 | 博客
  • 博客访问: 494704
  • 博文数量: 139
  • 博客积分: 4205
  • 博客等级: 上校
  • 技术积分: 3540
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-08 19:19
文章分类

全部博文(139)

文章存档

2012年(4)

2011年(7)

2010年(7)

2009年(28)

2008年(93)

我的朋友

分类:

2008-05-22 23:23:29

现在,工程也建好了,结果也看到了,最终的欣喜的结果。于是我就思考一个问题了,这么好的东西,到底是怎么做出来的呢,要是我对它的机制非常清楚,要是我能够自己也弄出这么一些玩意多好啊。
所以,下面的事情,那就是盯着这个工程,看代码。真的是望眼欲穿啊我。

怎么看呢,只能凭自己这么菜的理解能力去慢慢看吧,没人指点的话,也只能用自己的方式去理解了。

首先,这是一个插件工程,那么肯定有一个Plugin类,这是肯定的,它代表这整个这个插件的对象,好,这个理解了,瞎理解,先不管了;

然后,这个gef不就是可视化编辑嘛,也就是三层模式,那么肯定就有模型,那么肯定就得建模,那么从哪开始看起呢,那么肯定就是从模型开始看起啰,毋庸置疑,显而易见,首当其冲,谁让他是模型呢,活该他倒霉。好了,看看工程,模型在哪里。

model包下,有三个类,Element类,Diagram类,Node类。真的好复杂啊。。。。。。。。别急,模型嘛,不就是类嘛,不就是对象嘛,平常挂在嘴巴边的老说的什么面向对象面向对象的,现在不正好理论结合实际的可以用一用啰,那么,打开这三个类一看,发现了吧,Diagram和Node两个类都是从Element继承而来,好啰,这下子工作量缩小了三分之二,就只用关注Element类啰。瞧瞧Element类,xixi,还可以用面向对象的手法,画出类图,慢慢分析:

UML 基础: 类图
http://www.ibm.com/developerworks/cn/rational/rationaledge/content/feb05/bell/

Element对象
定义的抽象类,
上头是 Cloneable和Serializable,
有一个transient protected PropertyChangeSupport类型的对象listeners
..............

真的难看。怎么办,决定了,盯他30分钟再说,瞪完就不管了。

好难理解啊:
transient的意义
transient 
  Java语言的关键字,用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的。

ai,反正跟串行化有关就行了,先不管了;

abstract 抽象类
表示类的方法由子类实现。
这个还好理解。

Element就到这吧.

画uml图
public +
protected #
private -
package ~





阅读(439) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~