首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

运用Groovy的Adapter模式来处理遗留代码

2012-10-24 
使用Groovy的Adapter模式来处理遗留代码使用Groovy的Adapter模式来处理遗留代码如果使用Java语言,针对一个

使用Groovy的Adapter模式来处理遗留代码

使用Groovy的Adapter模式来处理遗留代码

如果使用Java语言,针对一个遗留的类Circle,需要建立一个接口,再建立新类和遗留类的适配器实现该接口,再建立一个控制器:

运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码/**//*
运用Groovy的Adapter模式来处理遗留代码*Adapter模式经常用来处理遗留代码
运用Groovy的Adapter模式来处理遗留代码*/
运用Groovy的Adapter模式来处理遗留代码packagecom.XiongYi.designPatterns;
运用Groovy的Adapter模式来处理遗留代码
运用Groovy的Adapter模式来处理遗留代码//遗留代码Circle类方法drawCircle()这个类不便做更改
运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码classCircle...{
运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码publicvoiddraw()...{
运用Groovy的Adapter模式来处理遗留代码System.out.println("I'macircle...");
运用Groovy的Adapter模式来处理遗留代码}
运用Groovy的Adapter模式来处理遗留代码}
运用Groovy的Adapter模式来处理遗留代码
运用Groovy的Adapter模式来处理遗留代码//现要由于新的需要要加入一些和Circle地位等价类,比如其中一个叫做Rect
运用Groovy的Adapter模式来处理遗留代码//并要让另一个扮演控制角色的Person类的方法draw()来统一操纵它们
运用Groovy的Adapter模式来处理遗留代码
运用Groovy的Adapter模式来处理遗留代码//于是,创建接口Drawable,并让Circle的适配器和Rect的适配器代替他们各自工作
运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码interfaceDrawable...{
运用Groovy的Adapter模式来处理遗留代码publicvoiddraw();
运用Groovy的Adapter模式来处理遗留代码}
运用Groovy的Adapter模式来处理遗留代码
运用Groovy的Adapter模式来处理遗留代码//再让原有Circle的适配器CircleAdapter实现Drawable
运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码classCircleAdapterimplementsDrawable...{
运用Groovy的Adapter模式来处理遗留代码privateCirclecircle;
运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码publicCircleAdapter()...{
运用Groovy的Adapter模式来处理遗留代码circle=newCircle();
运用Groovy的Adapter模式来处理遗留代码}
运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码publicvoiddraw()...{
运用Groovy的Adapter模式来处理遗留代码circle.draw();
运用Groovy的Adapter模式来处理遗留代码}
运用Groovy的Adapter模式来处理遗留代码}
运用Groovy的Adapter模式来处理遗留代码
运用Groovy的Adapter模式来处理遗留代码//加入的Rect类
运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码classRect...{
运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码publicvoiddraw()...{
运用Groovy的Adapter模式来处理遗留代码System.out.println("I'marect...");
运用Groovy的Adapter模式来处理遗留代码}
运用Groovy的Adapter模式来处理遗留代码}
运用Groovy的Adapter模式来处理遗留代码
运用Groovy的Adapter模式来处理遗留代码//同样也让Rect的适配器RectAdapter实现Drawable
运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码classRectAdapterimplementsDrawable...{
运用Groovy的Adapter模式来处理遗留代码privateRectrect;
运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码publicRectAdapter()...{
运用Groovy的Adapter模式来处理遗留代码rect=newRect();
运用Groovy的Adapter模式来处理遗留代码}
运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码publicvoiddraw()...{
运用Groovy的Adapter模式来处理遗留代码rect.draw();
运用Groovy的Adapter模式来处理遗留代码}
运用Groovy的Adapter模式来处理遗留代码}
运用Groovy的Adapter模式来处理遗留代码
运用Groovy的Adapter模式来处理遗留代码//最后扮演控制角色的Person类,
运用Groovy的Adapter模式来处理遗留代码//它可以通过work方法根据传入的实现了Drawable接口的对象来统一控制它们工作了
运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码classPerson...{
运用Groovy的Adapter模式来处理遗留代码privateDrawabledrawable;
运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码publicPerson(Drawabledrawable)...{
运用Groovy的Adapter模式来处理遗留代码this.drawable=drawable;
运用Groovy的Adapter模式来处理遗留代码}
运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码publicvoidwork()...{
运用Groovy的Adapter模式来处理遗留代码drawable.draw();
运用Groovy的Adapter模式来处理遗留代码}
运用Groovy的Adapter模式来处理遗留代码}
运用Groovy的Adapter模式来处理遗留代码
运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码publicclassAdapter...{
运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码publicstaticvoidmain(String[]args)...{
运用Groovy的Adapter模式来处理遗留代码
运用Groovy的Adapter模式来处理遗留代码newPerson(newCircleAdapter()).work();
运用Groovy的Adapter模式来处理遗留代码newPerson(newRectAdapter()).work();
运用Groovy的Adapter模式来处理遗留代码
运用Groovy的Adapter模式来处理遗留代码}
运用Groovy的Adapter模式来处理遗留代码}
运用Groovy的Adapter模式来处理遗留代码

而使用Groovy的话,则变得超级简单:

运用Groovy的Adapter模式来处理遗留代码packagecom.XiongYi.groovy.designPatters
运用Groovy的Adapter模式来处理遗留代码
运用Groovy的Adapter模式来处理遗留代码//遗留代码Circle类方法drawCircle()这个类不便做更改
运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码classCircle...{
运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码defdraw()...{
运用Groovy的Adapter模式来处理遗留代码println"I'macircle..."
运用Groovy的Adapter模式来处理遗留代码}
运用Groovy的Adapter模式来处理遗留代码}
运用Groovy的Adapter模式来处理遗留代码
运用Groovy的Adapter模式来处理遗留代码//现在加入Rect类
运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码classRect...{
运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码defdraw()...{
运用Groovy的Adapter模式来处理遗留代码println"I'marect..."
运用Groovy的Adapter模式来处理遗留代码}
运用Groovy的Adapter模式来处理遗留代码}
运用Groovy的Adapter模式来处理遗留代码
运用Groovy的Adapter模式来处理遗留代码//Person类扮演控制者的角色
运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码classPerson...{
运用Groovy的Adapter模式来处理遗留代码privatedefgraphic
运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码Person(args)...{
运用Groovy的Adapter模式来处理遗留代码graphic=args
运用Groovy的Adapter模式来处理遗留代码}
运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码defdraw()...{
运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码try...{
运用Groovy的Adapter模式来处理遗留代码graphic.draw()
运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码}catch(MissingMethodExceptione)...{
运用Groovy的Adapter模式来处理遗留代码println"Ucan'tdraw..."
运用Groovy的Adapter模式来处理遗留代码}
运用Groovy的Adapter模式来处理遗留代码}
运用Groovy的Adapter模式来处理遗留代码}
运用Groovy的Adapter模式来处理遗留代码
运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码classAdapter...{
运用Groovy的Adapter模式来处理遗留代码运用Groovy的Adapter模式来处理遗留代码staticvoidmain(args)...{
运用Groovy的Adapter模式来处理遗留代码newPerson(newCircle()).draw()
运用Groovy的Adapter模式来处理遗留代码newPerson(newRect()).draw()
运用Groovy的Adapter模式来处理遗留代码}
运用Groovy的Adapter模式来处理遗留代码}

可见,正是Groovy的动态语言特性,可以将类型判定一直延后到运行时进行,代码变得如此简单。

欢迎讨论。

?

文章系本人原创,转载请注明作者和出处

热点排行