论坛首页 综合技术论坛

用了Together,还会想用Rose吗?

浏览 48359 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2004-04-21  
很久以前的程序员有篇文章赞美它了,用到现在,觉得再赞美一次也不过分,不过那篇文章好像找不到了,自己写一篇吧。

我用过的Together有三个版本,一个是Together For JBuilder,一个是Together For Eclipse,还有一个是Together ConsoleCenter. Together一开始本来只有for JBuilder版本,和JBuilder紧密结合,后来被Borland公司收购,在其基础上开发了几个新的版本,提供了更好的性能。现在还有For .Net和C的版本,不过不熟就不提了。

Together for JBuilder的版本其实和Together ConsoleCenter差不多。不同在于Together For JBuilder中可以启动JBuilder进行代码编辑和运行,而JBuilder也被它加入了一个启动Together的菜单。而Together ConsoleCenter则是自身带有Java代码编辑和编译运行的功能,可以作为一个单独的IDE进行使用,但是并不是很强。Together for Eclipse其实是作为Eclipse的一个插件,在Eclispe里面多了一个视图,这个是Eclipse的发展趋势。它和Eclipse结合最紧密,界面也最漂亮。但是可惜的是生成文档能力很弱,是Html+SVG格式的,很不适合项目文档。所以项目里面,最好是用Together ConsoleCenter和Eclipse进行配合,一来可以发挥Togehter的设计功能,并定制模板,生成文档,辅助项目文档的规范化,二来可以利用Eclipse强大的开发能力。唯一的不便是切换到Eclipse进行编辑的时候,需要手动刷新一下,我到现在还没有找到Eclipse自动刷新的设置,知道的请指教。


Together代码同步功能是相对于Rose最大优势。Together生成Java代码是做到了(What you draw is what you code)WUDIWUC,专门针对JAVA,解决设计和编码脱离的问题。由模型和代码高度一致,生成代码方便,而且十分干净,完全原汁原味,并且有自动重构的功能,非常的强大好用。而Rose2003却存在生成代码速度慢,手续烦琐,自动化程度低,添加垃圾代码等等缺点,导致了代码自动生成的功能往往成为鸡肋,从而使详细设计成为一种无用功,浪费开发人员时间。


在文档生成方面,相比rose让人头大的SODA,Together可谓方便快捷,体贴入微,而且功能一点都不弱,自定义模板功能可以快速产生公司自己的专业文档了。

说了这么多好话,该说点坏话。

1.资源占用方面,Together比Rose是有过只而无不及,内存在512以下的,最好不要考虑了,呵呵,这个是其一。

2.危险性。代码全自动生成带来的危险性。代码的生成和删除都是全自动的,而且删除不进回收站。所以,对包进行删除可要小心咯,记得做好几件事。
1) CVS备份
2) 不要把它的删除提问去掉
3) 保持冷静,它支持无限次的回滚功能,在关闭它以前,一切皆可挽回。
   发表时间:2004-04-21  
回应楼主!
    together的确非常之好,我的机器是512M内存,加上jbuilder,跑together for jbuilder非常好,呵呵,比该死的rose2003快很多啊(rose自从被IBM吞并后就变成内存杀手了,该死的IBM,做的每一个东西都是那么耗内存)。
   另外删除呢,如果不小心删除包,呵呵,那就惨了,回复不了的,当然,建议大家在tool菜单的option里设置删除都要进行确认,这样就可以了。
0 请登录后投票
   发表时间:2004-04-21  
我用together for eclipse,毕竟是6.2比6.0强。而且我用eclipse开发,代码直接就生成在项目里面。用tcc和eclipse等搭档总是担心两个soft的代码环境处理不一致。

这个版本的输出功能,确实是很弱。只支持svg,不过经过研究,发现visio可以打开svg文件。凑合用了先。

上次听李维讲7.0 啊~~ 期待ing
0 请登录后投票
   发表时间:2004-04-21  
我在使用Together for Eclispe的过程中发现一个问题,关于类图中Association和代码生成问题

在类图中有一对多的联系,生产的代码反映的是一对一的联系
如Sale和SalesLineItem的关系
生成的代码就是
   /**
	 * @clientCardinality 1
	 * @label Contains
	 * @link association 
	 * @supplierCardinality 1..*
	 */

	private SalesLineItem lnkSalesLineItem;

当我修改代码用List来反映这个一对多的关系时
Together就会将这个联系变成Sale和List之间的联系
这显然不是我想要的
不是谁有没有人遇到过这个问题,有没有办法解决
0 请登录后投票
   发表时间:2004-04-21  
这个对于Together太难了,尤其是在现在还没有泛型支持的情况下。

从模型到代码的话,或者你觉得应该定义了1..*的时候就自动帮你用List,并保持连接到supplier,可是这样的话,反向工程分析却是不可行的。所以Together干脆没有实现这个功能,只是用注释来表示了事了。

如果1。5出来了,Together升级,可能就会真正把它完善。
0 请登录后投票
   发表时间:2004-04-21  
andyyehoo 写道
这个对于Together太难了,尤其是在现在还没有泛型支持的情况下。

从模型到代码的话,或者你觉得应该定义了1..*的时候就自动帮你用List,并保持连接到supplier,可是这样的话,反向工程分析却是不可行的。所以Together干脆没有实现这个功能,只是用注释来表示了事了。

如果1。5出来了,Together升级,可能就会真正把它完善。

刚刚试用了一下Rational XDE Developer,发现它是支持的
默认和Together是一样的,但是提供了Collection的支持,并保持连接到supplier,逆向工程没有试
不过对这么庞大的东西实在没有好感,而且还是基于Eclispe2.0.2的,卸载中
0 请登录后投票
   发表时间:2004-04-21  
呵呵,听来是比较强大。
多庞大?
0 请登录后投票
   发表时间:2004-04-22  
本人也听了李维的讲座,不过没有讲什么东西.

当时他说如果当你得到一个工程的时候如何在一个小时内(差不多是这个时间吧)分析它的构架,当时他说用together反向工程就可以(代码-->模).
其实对于集合/聚合其实TG都不可以.


我承认tG是一个很好的工具(在2003年七月我就用过了TCC,用来分板HB的源码就是用它了).

不过要有较好的UML知识.
0 请登录后投票
   发表时间:2004-04-22  
我不太清楚楼上用的for eclipse是怎么样的,但是在for jbuilder里面是可以支持一对多的关系啊?
   如果用association,的确只会产生一个引用,但是for jbuilder菜单按钮中有一个link by pattern,里面就有了。
   rose只能进行一对多的默认设置,初始值是数组,可以设置collection,但是together的link by pattern可以任意选择集合框架中的任意一个接口或者类,更强大啊!
   所以,楼上的问题应该不是问题的。
0 请登录后投票
   发表时间:2004-04-23  
凤舞凰扬 写道
我不太清楚楼上用的for eclipse是怎么样的,但是在for jbuilder里面是可以支持一对多的关系啊?
   如果用association,的确只会产生一个引用,但是for jbuilder菜单按钮中有一个link by pattern,里面就有了。
   rose只能进行一对多的默认设置,初始值是数组,可以设置collection,但是together的link by pattern可以任意选择集合框架中的任意一个接口或者类,更强大啊!
   所以,楼上的问题应该不是问题的。

果然时可以的,Eclispe目前我只能在右键菜单中找到Apply Patterns
Together的确很强大
谢谢
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics