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

用我使用不同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();
    }

}

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



你可能感兴趣的:(用我使用不同IDE的经历来诠释策略(Strategy)模式)