xiaoxiaoleemin

天道酬勤,小小加油
posts - 19, comments - 12, trackbacks - 0, articles - 0

EMF

Eclipse Modeling Framework
     摘要: 我习惯于直接用ECore Editor建立ecore模型,如果装了GMF插件的话,在ecore文件上点击鼠标右键,通过菜单“Initialize ecore-diagram diagram file”可以生成类似类图的表示,这样可以从整体上看模型。而且在建模的过程中可以随时"Validate"以检查当前存在的错误。以下是一些常见的问题:  阅读全文

posted @ 2007-05-07 14:10 xiaoxiaoleemin 阅读(984) | 评论 (1)  编辑 |

     摘要: 前面的几篇是读了《EMF:A Developer's Guide》一书前三章的读书笔记,我觉得这三章的内容是最重要的,介绍了EMF Framework的一些设计、结构以及实现的问题。但是这些只是一些原理性的东西,要熟练掌握EMF的方法是在项目中应用它,我们可以从修改EMF生成的代码入手。EMF生成的编辑器是MultiPageEditor,比较复杂,我们可以参考它自己写一个普通的Editor,在这个过程中可以熟悉哪些代码是用于实现哪些功能的。  阅读全文

posted @ 2007-05-06 17:24 xiaoxiaoleemin 阅读(2059) | 评论 (2)  编辑 |

     摘要: 上一部分中,我们看到了如何通过content和label provider来显示EMF模型,这一部分介绍如何修改、编辑EMF模型。EMF.Edit支持基于Command的模型编辑方式,可以自动的undo和redo。EMF.Edit的Command Framework可以分为两部分,第一部分是common command framework,其中定义了一些基本的命令接口,实现了例如basic command stack,compound command等,虽然这些命令主要用于EMF.Edit,但是实际上可以独立于EMF.Edit使用;第二部分是EMF.Edit 命令,是指一些专门编辑EObject的命令。  阅读全文

posted @ 2007-05-05 20:44 xiaoxiaoleemin 阅读(769) | 评论 (0)  编辑 |

     摘要: 本书的第二章介绍了EMF产生的Model部分的代码,你可以使用EMF Edit Framework来为model构建功能强大的视图和编辑器。在EMF为你生成的编辑器里,可以编辑(复制,粘贴,拖拽等)、显示model,还可以无限的redo/undo。如果这个编辑器不能完全满足你的需求,你可以在此基础上做一些修改,肯定比从头开始写节约时间。
Eclipse通过JFace中的一些Viewer来显示结构化的数据,这些Viewer不直接从model中获取要显示的数据,而是通过ContentProvider和LabelProvider来取得要显示的内容、文本以及图标等信息。  阅读全文

posted @ 2007-05-05 18:08 xiaoxiaoleemin 阅读(922) | 评论 (0)  编辑 |

     摘要: EMF Framework提供了模型变化通知、持久化支持、操纵EMF对象的反射API等功能来帮助用户提高工作效率,下面分别详细介绍一下。
1.Notification and Adapter
EMF生成的每一个类还是一个Notifier类型,因此当它的属性或者引用改变的时候可以发出通知。这是一个很重要的性质,通过监听EObject的变化可以及时地更新视图或者与之相关联的对象。EMF中的Notification Observer(Listener)叫做Adapter,它除了监听事件以外,还可以扩展其它行为(extend behavior)等。  阅读全文

posted @ 2007-05-04 21:44 xiaoxiaoleemin 阅读(912) | 评论 (1)  编辑 |

     摘要: 1.EMF的元模型Ecore
我们通常所说的模型(Model)是指应用程序更高层次的描述,通过它可以生成部分甚至全部的实现代码,可以由UML等标准的方法来定义。EMF(Eclipse Modeling Framework)中的模型层次没有这么高,它和实现直接关联。
EMF是一个可以产生代码的框架,你可以通过UML类图、XML Schema、Java Interface等任何一种方式来定义EMF模型,而且可以由一种方式生成另外其它方式,在这里EMF 模型就是把这三者结合在一起的更高层次的一种表示。EMF模型本质上是UML类图的子集,它是关于应用的类和数据的简单模型。  阅读全文

posted @ 2007-05-04 19:13 xiaoxiaoleemin 阅读(1015) | 评论 (0)  编辑 |

     摘要: Eclipse是一个开源软件项目,它的目标是提供最好的工具集成平台。Eclipse软件具有Common Public License,就是说你可以使用、修改其中的代码,可以重新发布为free版本,也可以作为私有项目的一部分。
Eclipse项目分为三个子项目:Eclipse项目,Tools项目和Technology 项目。  阅读全文

posted @ 2007-03-03 13:26 xiaoxiaoleemin 阅读(734) | 评论 (0)  编辑 |