仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1235|回复: 18
打印 上一主题 下一主题

[学习教程] JAVA网站制作之EMF-edit功效剖析

[复制链接]
简单生活 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:51:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
最后我再次声明,我并没有说不看好java,实际上我对java很乐观的,毕竟她正在不断改进中,我相信她总有一天会和.net并驾齐驱的
1.EMF.edit

a)申明:EMF.edit位于EMF.editor和EMF.Ecore之间,他起了一其中介者的感化。他卖力把来自EMF.editor的UI相干的哀求转换成切合EMF.Ecore的UI有关的挪用。他必要供应以下四个功效:完成用于撑持Viewer显现的ContentProvider和LabelProvider;完成用于撑持属性显现的IPropertySource;完成用于撑持对模子举行操纵的CommandFramework;完成用于撑持修正关照的Framework。



b)ContentProvider和LabelProvider

i.图:



ii.申明:当TreeViewer必要显现内容时,挪用她的IContentProvider的getChildren(Objectobj)办法。这个办法会被转发到AdapterFactoryContentProvider外部。她经由过程她所援用的ItemProviderAdapterFactory来猎取一个对obj的ITreeItemContentProvider范例的Adapter,这个Adapter是由EMF天生的对应于ECore模子的一个ItemProviderAdapter(这里为TeacherItemProvider),最初由这个TeacherItemProvider卖力天生所必要显现的子节点列表。



iii.代码:

publicclassAdapterFactoryContentProviderimplementsITreeContentProvider{

publicObject[]getChildren(Objectobject){

ITreeItemContentProvidertreeItemContentProvider=

(ITreeItemContentProvider)adapterFactory.adapt(object,

ITreeItemContentProvider.class);

returntreeItemContentProvider.getChildren(object);

}

}

注:白色是UI相干的哀求,蓝色是UI有关的适配器类,粉白色就是UI有关的哀求。



c)IPropertySource

i.图:



ii.申明:当PropertySheetPage必要显现属性内容时,他会见他的IPropertySourceProvider的getPropertySource(Objectobj)办法。这个办法会被转发到AdapterFactoryContentProvider外部。她经由过程她所援用的ItemProviderAdapterFactory来猎取一个对obj的IItemPropertySource范例的Adapter,这个Adapter是由EMF天生的对应于ECore模子的一个ItemProviderAdapter(这里为TeacherItemProvider),最初由这个TeacherItemProvider卖力天生所必要显现的属性列表。

iii.代码:

publicclassAdapterFactoryContentProviderimplementsIPropertySourceProvider{

publicIPropertySourcegetPropertySource(Objectobject){

IItemPropertySourceitemPropertySource=(IItemPropertySource)

adapterFactory.adapt(object,IItemPropertySource.class));



}

}



d)CommandFramework

i.图:



ii.申明:因为EMF.editor其实不懂得底层的模子细节,因而他不克不及间接对模子举行操纵,他必要天生一些用于操纵模子的Command对象。当editor必要对模子举行修正时,他经由过程挪用他的createCommand(EditingDomaindomain)办法,创立用于举行模子操纵的Command对象,该办法最初会被转发到domain的createCommand(),然后domain会依据他所援用的ItemProviderAdapterFactory来猎取一个IEditingDomainItemProvider的适配器,由他来最初天生用于对模子举行操纵的Command对象。



iii.代码:

publicclassDeleteActionextendsCommandActionHandler{

publicCommandcreateCommand(Collectionselection){

returnRemoveCommand.create(domain,selection);

}

}

publicclassRemoveCommandextendsAbstractOverrideableCommand{

publicstaticCommandcreate(…){

returndomain.createCommand(…);

}

}

publicclassAdapterFactoryEditingDomainimplementsEditingDomain{

publicCommandcreateCommand(…){

IEditingDomainItemProvidereditingDomainItemProvider=

(IEditingDomainItemProvider)adapterFactory.adapt(owner,

IEditingDomainItemProvider.class);

returneditingDomainItemProvider.createCommand(…);

}

}

注:当必要实行命令时,editor会挪用EditingDomain上的CommandStack,并挪用他下面的execute(Commandc)办法。



e)NotifyFramework

i.图:



ii.申明:当我们修正了模子的值今后,模子将会向他对应的ItemProvider收回一个更新关照,这个关照随后被转发到ItemProviderAdapterFactory,然后终极发到AdapterFactoryContentProvider处,并由他来卖力更新对应的viewer。

在ruby里才是一切皆对象。当然我不并不是很了解ruby,但是ruby确实是将语法简化得很好。
admin 该用户已被删除
沙发
发表于 2015-1-21 16:18:20 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
简单生活 该用户已被删除
板凳
 楼主| 发表于 2015-1-21 16:18:20 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
精灵巫婆 该用户已被删除
地板
发表于 2015-1-30 21:01:30 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
谁可相欹 该用户已被删除
5#
发表于 2015-2-16 23:24:07 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
小魔女 该用户已被删除
6#
发表于 2015-2-27 08:40:41 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
只想知道 该用户已被删除
7#
发表于 2015-3-1 15:39:56 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
8#
发表于 2015-3-5 08:43:43 | 只看该作者
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
变相怪杰 该用户已被删除
9#
发表于 2015-3-5 20:45:42 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
兰色精灵 该用户已被删除
10#
发表于 2015-3-10 23:51:47 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
透明 该用户已被删除
11#
发表于 2015-3-15 20:14:36 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
小妖女 该用户已被删除
12#
发表于 2015-3-22 03:31:47 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
愤怒的大鸟 该用户已被删除
13#
发表于 2015-4-1 00:52:31 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
不帅 该用户已被删除
14#
发表于 2015-4-3 04:13:34 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
山那边是海 该用户已被删除
15#
发表于 2015-4-7 20:08:42 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
再见西城 该用户已被删除
16#
发表于 2015-4-9 02:12:15 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
冷月葬花魂 该用户已被删除
17#
发表于 2015-5-1 04:08:57 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
灵魂腐蚀 该用户已被删除
18#
发表于 2015-5-1 14:12:01 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
蒙在股里 该用户已被删除
19#
发表于 2015-6-13 01:44:12 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 02:26

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表