Eclipse Template对我们是一个相当有用的工具,能节省我们很多写重复代码的时间;也能减少我们对copy&paste的使用。
关于Eclipse Templage的基础知识,详见我的Blog:Eclipse Template用法探讨。
而模式在我们的面向对象的编程的一个重要手段,特别是Java编程,更加离不开模式。然而,在模式的使用过程中,我们也会遇到很多重复代码的问题。这篇文章就是试图将Eclipse Template和模式结合起来,来解决我们在使用模式过程中遇到的重复代码的问题。
本文将要阐述将Eclipse Template和模式结合起来的相关问题,所以首先要求大家使用的IDE是Eclipse,如果有人使用的是其他的IDE,如netbean等,那么请首先熟悉该IDE的Template的用法。其次,本文还要求大家有模式基础,本文所涉及到的模式,由于文章内容所限,不会说明该模式的来龙去脉,如果不熟悉,请大家查阅相关资料。
单态模式是我们比较常用的一种模式,阎宏博士在其著作:《Java与模式》中,将单态模式分为三种,即:饿汉式单态模式、懒汉式单态模式和登记式单态模式。
其中,饿汉式单态模式的示例代码为:
public class EagerSingleton
{
private static final EagerSingleton m_instance = new EagerSingleton(); 网管u家u.bitsCN.com
/**
* 私有的默认构造子
*/
private EagerSingleton() { }
/**
* 静态工厂方法
*/
public static EagerSingleton getInstance()
{
return m_instance;
}
……
}
该示例代码是一段相当实用的代码,几乎每一个饿汉式单态模式的应用都会有上面的代码出现,所不同的是类名,在实际代码中,你肯定不会叫EagerSingleton。然后不同的是被省略号省掉的部分,用户编写该类的业务逻辑。
如果我们经常使用饿汉式单态模式的话,就会发现编写上面的代码是十分枯燥的重复劳动。如果我们使用copy&paste,又不得不对代码中涉及到的类名做一次又一次的修改。
现在如果我们使用Eclipse Template工具,则该问题的解决变得十分简单。
首先,我们设计一个名为:EagerSingleton的Template,其Pattern为:
privatestaticfinal ${enclosing_type} m_instance = new ${enclosing_type}();
/**
*私有的默认构造子
*/
private ${enclosing_type}() { }
/**
*静态工厂方法
*/
publicstatic ${enclosing_type} getInstance()
{
return m_instance;
}
${cursor}
这样,我们就可以使用该Template,在类的代码的适当的位置输入Template名:EagerSingleton,然后点击Alt+/,如下图:
最后,得到结果为:
网管网www.bitscn.com