用我使用不同IDE的经历来诠释策略(Strategy)模式

记得刚开始学习Java的时候,使用的是EditPlus,感觉挺不错的,关键字都能变色,编辑功能也比计算本强大多了;后来使用JBuilder,写完对象名之后加上“.”,该对象所对应的所有方法就罗列出来了,简直太方便了,不过JB比较耗系统资源,当时我128M内存的机子真是承受不了,最后我选择了Eclipse,真是有一种相见狠晚的感觉,漂亮的开发界面,灵活的代码自动生成和修改功能,以及强大的插件扩展机制,没有一项不令我折服。开发Java程序分别使用了三种不同的开发工具,这使我联想到的Java开发模式中的策略模式,于是奋笔疾书写下了下面一段程序。

环境角色
/*
 *@author 我为J狂 建立日期 2007-5-1
 *
 
*/

package net.blogjava.lzqdiy.strategy;

public class Develop
{
    
private IDE ide;

    
public void setIDE(IDE ide)
    
{
        
this.ide = ide;
    }


    
public void useIDE()
    
{
        ide.use();
    }

}

抽象策略角色
/*
 *@author 我为J狂 建立日期 2007-5-1
 *
 
*/

package net.blogjava.lzqdiy.strategy;

public interface IDE
{
    
void use();
}

具体策略角色
/*
 *@author 我为J狂 建立日期 2007-5-1
 *
 
*/

package net.blogjava.lzqdiy.strategy;

public class EditPlus implements IDE
{

    
public void use()
    
{
        System.out.println(
"使用EditPlus开发Java程序!");
    }

}

/*
 *@author 我为J狂 建立日期 2007-5-1
 *
 
*/

package net.blogjava.lzqdiy.strategy;

public class JBuilder implements IDE
{

    
public void use()
    
{
        System.out.println(
"使用JBuilder开发Java程序!");
    }

}

/*
*@author 我为J狂 建立日期 2007-5-1
*
*/

package net.blogjava.lzqdiy.strategy;

public class Eclipse implements IDE
{

    
public void use()
    
{
        System.out.println(
"使用Eclipse开发Java程序!");
    }


}

客户端

/*
 *@author 我为J狂 建立日期 2007-5-1
 *
 
*/

package net.blogjava.lzqdiy.strategy;

public class Client
{

    
/**
     * 
@param args
     
*/

    
public static void main(String[] args)
    
{
        Develop develop 
= new Develop();
        System.out.println(
"三年前:");
        develop.setIDE(
new EditPlus());
        develop.useIDE();
        System.out.println(
"两年前:");
        develop.setIDE(
new JBuilder());
        develop.useIDE();
        System.out.println(
"一年前:");
        develop.setIDE(
new Eclipse());
        develop.useIDE();
    }

}

希望开发模式的高手提出宝贵意见,您的意见是对我最大的支持!



posted on 2007-05-01 12:54 我为J狂 阅读(1333) 评论(5)  编辑  收藏 所属分类: 设计模式

评论

# re: 用我使用不同IDE的经历来诠释策略(Strategy)模式 2007-05-01 16:11 哈哈的日子

Server 端最好给个工厂出来,Client 端最好不认识 EditPlus,JBuild,Eclipse,就能使用它们,这样多方便啊。
  回复  更多评论   

# re: 用我使用不同IDE的经历来诠释策略(Strategy)模式 2007-05-02 11:11 Tauruser[匿名]

更上一层,IoC注入  回复  更多评论   

# re: 用我使用不同IDE的经历来诠释策略(Strategy)模式 2007-05-02 11:20 我为J狂

@Tauruser[匿名]
请问,不用容器如何IoC注入?  回复  更多评论   

# re: 用我使用不同IDE的经历来诠释策略(Strategy)模式 2007-05-04 13:07 BeanSoft

IOC注入...通俗的说就是用反射机制来根据类名和方法名来动态调用, 不算设计模式.  回复  更多评论   

# re: 用我使用不同IDE的经历来诠释策略(Strategy)模式 2007-05-04 22:31 我为J狂

@BeanSoft
完全同意您的说法。  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
<2007年5月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

常用链接

留言簿(11)

随笔分类(48)

文章分类(29)

常去逛逛

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜