模板方法模式似乎还比较容易理解。
其主要思想就是先定义一个抽象类,把其要实现的方法放在里面,就是模板。然后在具体的子类里去实现这些方法。其目的是为了增加类的可扩展性,根据这个模板,不同的情况就会有不同的实现方法。
这种模式在实际中的应用也比较好理解,最典型的就是数据库连接和访问了。
为了增加应用程序的使用范围,开发者都会把自己的程序设计成可以支持尽可能多的数据库类型。但不同的数据库从连接方法到sql查询都不尽相同。这时,模板方法就派上了用场。
先定义一个抽象的数据连接访问类,罗列所有的属性和方法作为模板,然后,针对不同的数据库写出相应的实现子类。在应用时,根据系统配置的数据库连接信息调用相应的子类。
在面向对象的程序中,继承总是必不可少的,父类即是子类的模板。所以,这模式无处不在。