在动手写这个设计模式的时候(这种说法跟原创一样,唉。。。也就感觉挺爽!),觉得这个可能比工厂模式(一个大众模式,用java的估计都知道)更简单,就不太想记录了,但是不得不承认的是,其实这是java面向对象的最根本体现。除了继承和组合这种java级的专业名称外,在这里所体现的是架构层次的分离,以及子类对父类的继承所带来的框架可扩展性(好像又是废话,但是这是感觉)。
Template Method,顾名思义,要有模板方法。但是都是哪类方法呢,说真的,我忍不住重复一下,这就是继承啊。但是在这个模式里也明确了四种方法是模板方法(绝对重要的前提:父类就得是个抽象类):
1.需要子类实现的方法(抽象类就会强制子类实现哪几个方法,除非子类也抽了!);
2.子类使用父类的既有方法,而且一般情况下不需要再重新实现;
3.父类中已经实现了的方法,但是多数情况下,需要子类重新实现的;
4.父类中已经定义好的方法,使用了他自己的接口(此接口非比接口也)方法,子类中实现了这个方法中调用的方法。
反正就是方法,而且个人觉得这是明目张胆的继承关系,是作为java最常使用的模式吧!不敢说自己熟练掌握,学起来真的挺快的!
例子就不列了,因为大家都有比较多的具体实践!
当然,自己的认识仅代表自己的看法,各位有好的见解,请多多指教啦!