MDSF学习

EMF:Ecore模型

  在MDSF:特定领域建模 DSM(Domain Specific)介绍中提到过Ecore是EMF的元元模型,要使用Eclipse来做DSL,则必须先大致了解一下Ecore,本篇将对Ecore进行概要的描述。

简单的Ecore元模型子集

Ecore本身是一个简单的小的UML子集

MDSF学习_第1张图片

  • EClass:领域类,它有名称,一个或多个属性,一个或多个引用
  • EAttribute:领域类的属性,属性有一个名称和类型
  • EReference:在领域类之间建立的关联,有一个名称,一个布尔值标识是否包含,还有一个引用指向的目标类
  • EDataType:属性类型,例如int或者对象类型

Ecore模型示例

  • 类图

MDSF学习_第2张图片

  • 对应的Ecore模型 

MDSF学习_第3张图片

Ecore模型类继承关系

MDSF学习_第4张图片

  • EObject
    EMF的每个模型对象EObject都是Notifier,它维护了一个Adapter列表,可以把Adapter作为监听器加入到模型的这个列表中。org.eclipse.emf.common.notify.Adapter接口由EditPart实现。

Ecore structural features

MDSF学习_第5张图片

 

 

欢迎转载,转载请注明:转载自周金根 [ http://zhoujg.cnblogs.com/ ]

 
分类:  MDSF

MDSF

MDSF:Web数据应用模型语言【WebML】介绍
摘要: B/S应用在现在企业级管理软件应用开发已经越来越普遍了,OpenExpressApp也早就有打算来支持B/S应用。关注过OEA的朋友都应该知道,OEA的目标是一个模型驱动开发平台,所以在进行B/S技术学校之前,我当然是先去看看是否已经有B/S相关的模型了。通过网络搜索,找到了WebML,这是一个是适用于数据应用的Web开发的特定领域语言。我花了一些时间大概的去看了一下,从整理了解了一下,WebML并不复杂,由于还没有去考虑它是如何把模型转为可运行模型的实现上,所以在这里我将主要从模型语言本身来总结介绍一下WebML。如果看完之后,你发现这也是你需要的,那么你可以自己去深入的分析一下,也欢迎到时 阅读全文

posted @ 2011-06-07 11:05 周 金根 阅读(1796) | 评论 (2) 编辑

MDSF:在线查看【模型驱动软件工厂】文章汇总
摘要: OpenExpressApp是我前年开始写的一个框架,最近没有怎么更新,有些关心的朋友还问我进度以及是否停止了,在这里我想和大家说的是,OEA还一直在做着,我的目标并没有因为我的精力分布较多而改变,OEA仍旧是我主要的关注点。 去年我主要是在OpenExpressApp的建模方向上花了一个半月时间,也写了一些文章,在这里我把我对模型驱动软件工厂相关的一些内容,通过在线的方式与大家分享一下。如果你对模型驱动开发感兴趣,也相信它是真正能发挥效用的开发人员、架构师,那么我的这本电子书可能对你在方法和架构层面有所帮助。http://www.doc88.com/p-29124495984.html另:O 阅读全文

posted @ 2011-03-17 23:12 周 金根 阅读(2524) | 评论 (0) 编辑

MDSF:SoftFluent敏捷模型驱动开发介绍
摘要: 模型驱动软件工厂的概念现在在软件行业越来越多了,OpenExpressApp的目标也是做一个类似的东东,本篇给大家介绍另一个模型驱动软件工厂的应用平台SoftFluent。软件开发的挑战常用方法失败原因技术缺乏经验缺少框架过渡设计成功方程式模型SoftFluent原则 SoftFluent敏捷方法SoftFluent应用的12个场景在线书籍:模型驱动软件工厂 v0.1. pdf 推荐:你可能需要的在线电子书 我的新浪围脖: http://t.sina.com.cn/openexpressapp 欢迎转载,转载请注明:转载自周金根 [ http://zhoujg.cnblogs.com/ ] 阅读全文

posted @ 2011-03-17 17:01 周 金根 阅读(1846) | 评论 (4) 编辑

GMF:OCL(Object Constraint Language)介绍
摘要: 前几周在使用GMF来做TOGAF建模工具时,了解到GMF使用OCL作为其模型的约束语言,于是花了一点时间简单的了解了一下OCL,下面简要的对OCL进行一下介绍,具体如何应用将在后续blog中再介绍,因为我现在还不知道:)OCL是约束(Constraint)语言和查询(Query)语言一个约束就是对一个(或部分)面向对象模型或者系统的一个或者一些值的限制。UML类图中的所有值都可以被约束,而表达这些约束的方法就是 OCL。在UML2标准中,OCL不仅用来写约束,还能够用来对UML图中的任何元素写表达式。每个OCL表达式都能指出系统中的一个值或者对象。因为 OCL表达式能够求出一个系统中的任何值或 阅读全文

posted @ 2010-12-21 09:48 周 金根 阅读(1748) | 评论 (0) 编辑

MDSF:如何使用GMF来做TOGAF建模工具
摘要: 在MDSF:架构工具简要功能说明中说到我要做一个支持TOGAF的架构工具,本篇介绍一下如何使用GMF来做一个简单的建模工具。前提知识  如果你还不知道生成建模工具的基本过程以及基础知识,请先看GMF:示例Mindmap 练习一 领域元模型由于TOGAF建模工具使用的架构语言是ArchiMate,所以领域模型可以参考Archimate语言。在企业架构语言ArchiMate.pdf中画过一个业务层元... 阅读全文

posted @ 2010-11-22 09:36 周 金根 阅读(1631) | 评论 (1) 编辑

MDSF:Eclipse MDD Day学习
摘要: itemis是一家独立的软件咨询厂商,从2003年开始就专注于模型驱动开发领域,他们也擅长于Eclipse建模、嵌入式系统和手机应用上的开发。Andreas Graf是一个懂中文的朋友,他是itemis的项目经理和业务开发经理,并致力于推广Eclipse和开源工具来支持模型驱动开发的使用,他前几天又给我推荐了MDD Day的一些资料,我把这些资料的一些内容汇集了一下。对于我来说,这些内容都是全新的... 阅读全文

posted @ 2010-11-16 12:05 周 金根 阅读(1546) | 评论 (2) 编辑

MDSF:架构工具简要功能说明
摘要: 在年度总结和计划:去年4个1,今年5个1中我说过今年下半年开始我要开发1个元模型引擎(OpenMetaEdit),现在方案已更改,我在OpenExpressApp make business engineers develop applications中说到我现在将先使用Eclipse的GMF来实现一个架构工具。  今年我花时间学习了一下企业架构框架-TOGAF.pdf,并在项目组中应用,已经形成... 阅读全文

posted @ 2010-11-03 17:01 周 金根 阅读(1726) | 评论 (5) 编辑

GEF:应用示例列表
摘要: 简单的节点连线(应用实例) 隔间形状(用GMF生成简化的数据库设计器) 不使用连接的GEF应用(浅谈布局) 表格的一个实现树的一个实现容器应用(XYLayout和展开/折叠功能) 推荐:你可能需要的在线电子书欢迎转载,转载请注明:转载自周金根 [ http://zhoujg.cnblogs.com/ ] 阅读全文

posted @ 2010-11-03 16:56 周 金根 阅读(487) | 评论 (0) 编辑

GMF:图形定义模型(Graphical definition model)介绍
摘要: 在GMF:示例Mindmap 练习一中我介绍了官方网站上的一个脑图示例第一步的练习,其中我们在第二步生成了一个图形定义模型(Graphical Definition Model)。图形定义模型包含一些图形元素信息,但是并没有直接与领域模型关联,它定义figures、nodes、links等显示在图形上的元素。  本篇介绍一下图形定义模型,后续学习过程中还会不断完善这几篇blog。三层diagram... 阅读全文

posted @ 2010-10-29 09:35 周 金根 阅读(1591) | 评论 (1) 编辑

GEF(Graphical Editing Framework)介绍
摘要: 在GMP:了解GMF引擎功能(Graphical Modeling Framework)中的架构组件中介绍了GMF依赖于GEF,本篇介绍一下GEF。GEF(Graphical Editing Framework)建立标准的MVC构架,代码利用Draw2D作为自己的View部分,主要代码实现复杂的树状(于Model分别对应)的控制器。实现的框架具有很高的可复用等特性,例如:将图形部件功能分解为多个E... 阅读全文

posted @ 2010-10-27 08:36 周 金根 阅读(2336) | 评论 (2) 编辑

GMF:示例Mindmap 练习一
摘要: 通过示例来做是我们IT人士快速学习新技术的一种有效方法,在前一篇GMP:了解GMF引擎功能(Graphical Modeling Framework)介绍了GMF的引擎功能,接下来将通过一个示例mindmap来带着大家学习GMF。本次练习的开发视频见http://www.eclipse.org/gmf/tutorial/viewlets/tutorial.html,源码可以从这里下载开发流程生成一... 阅读全文

posted @ 2010-10-26 14:18 周 金根 阅读(1842) | 评论 (1) 编辑

GMP:了解GMF引擎功能(Graphical Modeling Framework)
摘要: 在OpenExpressApp make business engineers develop applications中说过先考虑使用EMF先实现一个TOGAF9的建模工具来综合的了解建模更方面的知识,由于没有怎么用过Eclipse,上周看了三本书Eclipse in Action、Eclipse Plug-ins (3rd Edition)、Eclipse Modeling Framework... 阅读全文

posted @ 2010-10-26 10:13 周 金根 阅读(1655) | 评论 (1) 编辑

EMF:Ecore模型
摘要: 在MDSF:特定领域建模 DSM(Domain Specific)介绍中提到过Ecore是EMF的元元模型,要使用Eclipse来做DSL,则必须先大致了解一下Ecore,本篇将对Ecore进行概要的描述。简单的Ecore元模型子集Ecore本身是一个简单的小的UML子集EClass:领域类,它有名称,一个或多个属性,一个或多个引用EAttribute:领域类的属性,属性有一个名称和类型ERefe... 阅读全文

posted @ 2010-10-20 16:43 周 金根 阅读(1726) | 评论 (2) 编辑

MDSF:LOP-使用MPS来做个计算器的示例
摘要: 在上一篇面向语言编程LOP(Language Oriented Programming)方法介绍中介绍了LOP以及一种LOP的实现方法MPS,本篇主要讲解一下使用MPS1.5的一个示例,以便大家能更好的理解是如何使用MPS实现LOP项目的。需求计算一个Java/PHP开发人员的收入,输入在Java和PHP项目投入的时间,计算器自动计算收入值,界面表示如下:目标通过写以下4行代码来生成这个计算器(1... 阅读全文

posted @ 2010-10-13 11:11 周 金根 阅读(1109) | 评论 (2) 编辑

MDSF:访谈Mendix研发负责人Johan den Haan
摘要: 之前写过一篇文章对Mendix进行了介绍,这是我非常看好的一个MDD厂商,它提高工具和基础设施来加速设计、继承、部署下一代商业门户和云应用。最近Jordi Cabot对Mendix的研发老大Johan den Haan做了一次访谈。Mendix成立的目的就是为了自动化不断重复的开发过程,他们希望通过一些工具和平台针对业务专家而不是开发人员来达到这个目的。最重要的是提供可视化模型,只有这样才能更好的... 阅读全文

posted @ 2010-10-13 10:08 周 金根 阅读(1221) | 评论 (4) 编辑

MDSF:代码生成 VS 模型解释
摘要: 在代码生成(Code Generation)介绍中说到模型可以通过代码生成技术和模型解释两种方法在领域框架运行,本篇主要介绍一下这两种方法的利弊。示例对于UI界面,我们基于模型驱动开发可以采用代码生成和模型解释来生成运行程序。代码生成:通过模型,直接生成窗体类,生成的窗体类与传统手工写的代码类似模型解释:在OpenExpressApp中采用的AutoUI是采用模型解释方法,我们通过给系统预定义一些... 阅读全文

posted @ 2010-10-12 10:24 周 金根 阅读(1939) | 评论 (12) 编辑

MDSF:面向语言编程LOP(Language Oriented Programming)方法介绍
摘要: 好几年前看了JetBrains的CEO Sergey Dmitive一篇文章Language Oriented Programming - The Next Programming Paradigm才开始知道LOP的,当时也试用了MPS,觉得眼前一亮。到现在隔了好几年了,对LOP的具体内容也有点忘记了,而近期在思考OpenExpressApp的模型驱动开发(MDD)方面的内容,所以在这里再次整理一... 阅读全文

posted @ 2010-09-30 12:33 周 金根 阅读(1843) | 评论 (2) 编辑

MDSF:产生式编程(Generative Programming)方法介绍
摘要: 软件业对软件工程期望之高,涉及高度的复杂性,高效的生产效率和质量,以及便于有效地维护和改进。但是,当前的软件工程并不能满足这些目标,现在很多开发更像手工作坊的“一种一个”的解决方案,而不像一个成熟的工程,而模型驱动和产品线工程就是应对这些问题的方法。在模型驱动开发(MDD)介绍中介绍过现在存在多种模型驱动开发方法,而Generative Programming - Meht... 阅读全文

posted @ 2010-09-28 23:37 周 金根 阅读(1613) | 评论 (4) 编辑

MDSF:代码生成(Code Generation)介绍
摘要: 在实现模型驱动开发中,我们可以解释模型直接运行在领域框架之上,也可以把模型通过代码生成技术转换成代码之后编译运行在框架之上。这两种方式都有利弊,可以搭配使用,在OpenExpessApp中将采用这两种方法,类库通过代码生成,UI等元模型通过框架解释执行。由于代码生成是MDD中很重要的一项技术,所以本篇我将介绍一下代码生成相关的知识。模型驱动中的代码生成在EMF中,Metamodel为EMF元模型,... 阅读全文

posted @ 2010-09-27 21:52 周 金根 阅读(2753) | 评论 (7) 编辑

MDSF:DSL(Domain Specific Language)介绍
摘要: 前面介绍过模型驱动开发(MDD)、软件工厂(Software factory)、特定领域建模 DSM(Domain Specific)等都是高抽象的开发方法,这些方法使用的语言都是特定领域语言(DSL)。相比于通用目的语言(C#/C++/JAVA/Delphi等)而言,DSL是一种为了特定任务而设计的开发语言,例如SQL是一种专门处理数据库的语言,本篇将介绍一下DSL。一种语言  我们熟知的编程语... 阅读全文

posted @ 2010-09-26 18:21 周 金根 阅读(3022) | 评论 (6) 编辑

MDSF:软件工厂(Software factory)介绍
摘要: 工厂是一个使用标准部件、工具和生产流程来规模化生产产品设备的组织,它广泛用在工业中,然而在软件开发行业中却很少提起。现在我们写的很多应用共性大于差异,但是我们仍然需要从头开始构建任何一个项目,这是非常低效的。由于没有一种方法可以让我们像工业上一样进行规模化生产,我们就需要不停地重复着一些代码工作,规模化一直是我们需要解决的主要问题之一。  几年前看过两本介绍软件工厂方面的书籍Software Fa... 阅读全文

posted @ 2010-09-25 13:36 周 金根 阅读(2572) | 评论 (2) 编辑

MDSF:模型驱动开发(MDD)介绍
摘要: 模型驱动开发Model Driven Development (MDD) 是一种以模型作为主要工件的高级别抽象的开发方法,模型在工具的支持下,被作为核心资产被转换成代码或者可运行配置。现在软件业存在多种MDD开发方法,本篇将对MDD进行概要介绍。定义  在过去多年,软件开发面临了多个挑战,新的需求和存在系统不断增长,系统也变得越来越复杂,以至于我们很难及时的构建它们。为了解决这些问题,就出现了很多... 阅读全文

posted @ 2010-09-20 11:22 周 金根 阅读(3871) | 评论 (18) 编辑

MDSF:特定领域建模 DSM(Domain Specific)介绍
摘要: 在读书笔记:Visual Studio DSL工具特定领域开发指南中介绍了特定领域开发的一些相关技术有:模型驱动开发 MDA、面向语言编程 LOP、语言工作平台 Language Workbenches、特定领域建模 DSM、产生式编程 Generative Rrogramming、意图软件 Intentional Software 、软件工厂 SOftware Factories。本篇通过书籍D... 阅读全文

posted @ 2010-09-17 11:07 周 金根 阅读(2003) | 评论 (4) 编辑

MetaModelEngine:元模型引擎开发思路
摘要: 在DSM:使用MetaEdit+编写Family Tree Modeling Language中介绍了MetaEdit+的一个家族树模型语言应用示例,通过示例的学习掌握了基本的概念,本篇将介绍一下OpenExpressApp的元模型引擎MetaModelEngine的应用思路。为何借鉴MetaEdit+思想  我在软件产品线工程方法 - 四个主要方法原则提到产品线带来的几个好处:减少成本,快速上市... 阅读全文

posted @ 2010-07-28 11:50 周 金根 阅读(2020) | 评论 (2) 编辑

DSM:使用MetaEdit+编写Family Tree Modeling Language
摘要: 在信息系统开发平台OpenExpressApp - 总体架构的由来中说到MetaEdit+是全球DSM领域内著名的产品,OpenExpressApp将借鉴它的思想来形成自己的模型引擎,本篇介绍一下如何使用MetaEdit+来建立一个家族模型语言,这个也是MetaEdit+提供的一个示例,通过家族树语言的生产来加深对MetaEdit+的了解。如果你也想开发自己的建模工具,那么推荐你也去研究一下。Me... 阅读全文

posted @ 2010-07-27 16:36 周 金根 阅读(1863) | 评论 (0) 编辑

读书笔记:Visual Studio DSL工具特定领域开发指南
摘要: 微软在VS2005SDK中开始提供了DSL,也出了一本专门写Visual Studio DSL的书籍,这本书较为详细的介绍了一下DSL的内容,在目前DSL书籍较少的环境下,有这么一本书可以参考还是不错的。  我几年前就看过了这本书了,由于最近开始考虑给OpenExpressApp增加模型驱动开发的建模支持OpenMetaEdit,所以又重新看了一下,现在把书中一些非Visual Studio特有的... 阅读全文

posted @ 2010-07-26 10:55 周 金根 阅读(2742) | 评论 (2) 编辑

DSL的演进(转 infoQ)
摘要: 简介领域特定语言(DSL) 是针对特定问题领域的编程语言,而非通用语言。要创建“不重复自己”(Don't Repeat Yourself)、“业务用户可读”的代码,DSL可是个好方法。在过去的几年里,有关DSL的文章比比皆是。相关厂商内容亚太软件研发团队管理年会上海站珠海站火热报名中IBM 360°讲师团招募:每个爱技术乐分享的人都有机会创... 阅读全文

posted @ 2010-05-19 13:39 周 金根 阅读(766) | 评论 (0) 编辑

模型驱动开发 - 产品线架构的演进
摘要: 在《Evolution in Model-Driven Software Product-line Architectures.pdf》中讲解了一下模型驱动在产品线架构中的演进,OpenExpressApp的思路和这些有点类似,其实也是和DSM有点类似。对产品线架构和平台感兴趣的可以下载看看。  这篇文档中有很多图片,我也比较喜欢用图片来展现一些想法,所以下面我将把文档中的一些图片放上来。下图为使... 阅读全文

posted @ 2010-01-26 22:00 周 金根 阅读(1425) | 评论 (5) 编辑

MDSF:Mendix介绍
摘要: 在我以前blog中提到过Mendix,本篇介绍一下Mendix,还是相当有借鉴意义的,对企业级软件开发感兴趣的可以看看。传统开发方法  传统开发过程中存在多种角色:项目经理、业务人员、需求人员、技术架构师、可用性设计师、程序员、测试人员、主要客户等,这些角色会被严格的区分为两种类型:业务(business)和IT技术人员。业务部分主要负责客户、业务分析、需求工程,而IT部分主要包括开发人员。架构师... 阅读全文

posted @ 2010-01-19 20:22 周 金根 阅读(1833) | 评论 (8) 编辑

软件工厂方法(二):软件工厂应用
摘要: 基于实践的高度抽象之上,加上理论的加工就成为了方法论。在自己没有很好的方法时,我们可以采用别人的方法,只需要在应用时结合自己的实际情况,有选择的结合不同方法以满足我们的要求。在上篇《软件工厂方法》中,介绍了软件工厂由四个基础构建块组成,分别是产品线工程,架构框架,模型驱动开发和构建指南。我前期的主要工作内容有报表引擎、企业报表和GCC应用,本文将基于我的这些工作内容描述一下软件工厂的一些概念以及应... 阅读全文

posted @ 2009-08-03 21:02 周 金根 阅读(2624) | 评论 (4) 编辑

DSL应用的优点
摘要: Visual Studio DSL工具特定领域开发指南是一本专门介绍微软DSL工具的一本书籍,其中介绍了应用DSL可以带来如下一些优点:1. 让我们有能力在问题空间工作,避免以往用通用语言表述问题容易犯的一些错误,降低了犯错的机会2. 通过在问题空间工作,可以让不熟悉如何实现技术的人,包括商业人士,也能够更了解模型。3. 使用DSL表达的模型,可以在问题空间这个较高的抽象层次进行验证,这意味着可以... 阅读全文

posted @ 2009-01-11 13:59 周 金根 阅读(386) | 评论 (0) 编辑

Viewpoints 1.0 for Visual Studio .NET 2008
摘要: ViewPoints使用Visual Studio .NET 2008的DSL功能来生成应用程序。以下是它的首页说明。Why spend all of your time writing the same code over and over againwhen you can capture the rules visually and simply generate the codeyou r... 阅读全文

posted @ 2009-01-08 21:49 周 金根 阅读(299) | 评论 (0) 编辑

EMF介绍系列(一、EMF与MDA)

 

接触Eclipse一段时间的朋友应该都听说过EMF这个名字,EMF是Eclipse Modeling Framework的缩写,它是Eclipse的一个重要的子项目,如果翻译成中文就是“Eclipse建模框架”。其实只从这个名字还真是难以确定它的 作用是什么,我认为要完全掌握EMF应该对模型驱动开发(MDA)有一定的了解,而EMF可以看作是Eclipse上的MDA一个实现(代码生成是MDA 的重要组成部分之一),它能够生成在Eclipse上执行的代码。可惜我对MDA没有系统研究过,对EMF的应用大多是为了减少模型修改带来的影响,所以 也希望EMF能带我进入MDA的世界。

MDA讲究的是把模型和应用系统实现分开,模型是最重要的部分,可以说有了清楚的模型,就完成了一半的工作。模型是由元模型(Meta Model)定义的,例如UML里“类”和“属性”这些概念是在UML的元模型里定义的,而元模型又是由“元元模型”来定义,后者多是自描述的,也就是能 够自己定义自己,所以很少见到“元元元模型”的概念。在MOF规范里, 元元模型处于M3层,元模型处于M2层,往下的M1层是模型,而M0层是实例。EMF定义了一套Ecore元模型,该模型是EMOF(MOF的一个子集, MOF是Meta-Object Facility的缩写)的一个实现,这是一个自描述的模型,可以认为它处于MOF中的M2层,即与UML元模型相同的位置。用Ecore元模型可以定义 ecore模型,也就是.ecore文件,这个模型处于M1层,而ecore模型的实例处于M0层。关于MOF的更多概念请参考MOF规范和相关文档, MDA的各种概念是相当多的,研究它的人也很多,我认为EMF算是比较务实的一派。如果以后有机会深入研究Ecore元模型,我也会把心得写在这里供大家 参考。

EMF自发布以来一直受到Eclipse社区的热情拥护,目前很多Eclipse的子项目都是基于它开发的,可见EMF确实能给开发者带来好处。随着EMF的成长,出现了越来越多的文档,在eclipse.org/emf上就可以找到不少,最全面和权威的当属这本Eclipse Modeling Framework A Developers Guide, 完整的讲解了EMF,虽然针对的版本较早,但绝大部分内容还是适用的;作为入门读物,网站上Documents里列出的一些教程也是不错的选择;EMF的 新闻组更是一个很好的交流场所,Ed Merks(EMF设计师之一)和其它几位开发人员可以说是有问必答,感谢他们的认真态度。

通过在一些项目里使用EMF,我也逐渐感觉了到它起到的作用,特别是当模型里各种元素和关系比较多时,EMF的代码生成功能会节省不少工作量,对于 我们开发人员来讲,这不就是最大的好处吗。其实用EMF构造一个应用的步骤很简单:1、构造模型,2、生成代码,前者可以通过UML类图、Java接口、 XML Schema等多种方式定义,后者可以选择只生成模型部分的代码,也可以同时生成编辑器部分的代码,对这个编辑器做一些定制就可以得到符合需求的应用程 序。

类图可以帮助我们直观的了解应用系统里各对象的关系,但在开发过程中,类图里的定义很可能被修改,如果这一修改没有及时反映回类图,类图就会逐渐变 得不准确而失去作用。但是保持代码和类图的一致是一件很烦琐的工作,有时由于项目管理的需要,类图又必须保证能够反映系统的真实结构。比较好的解决方法是 让代码由类图直接生成,模型需要修改时也在类图上做改动,并且重新生成代码,这正是EMF的专长。

说了这么多,你可能还是没弄明白EMF到底能为我们带来哪些好处,是怎样为我们节省工作量的,从下个帖子开始我们将一步步了解怎样使用EMF构造应用程序。因为是边用边写,所以这个系列的帖子都不会太长,相信后面部分会以心得和技巧等内容为主。

本文地址:http://www.cnblogs.com/bjzhanghao/archive/2005/11/12/275024.html

 

分类:  EMFEclipse

你可能感兴趣的:(学习)