策略模式实际上是用的组合思想,而工厂方法模式是继承的思想。
装饰者模式是用组合扩展继承的功能,一层层包裹,以添加新的行为,最常见的如Java I/O.
1、工厂方法模式:
工厂方法的实现中,通常父类会是一个抽象类,里面包含创建所需对象的抽象方法,这些抽象方法就是工厂方法。
这里要注意一个问题,子类在实现这些抽象方法的时候,通常并不是真的由子类来实现具体的功能,而是在子类的方法里面做选择,选择具体的产品实现对象。
父类里面,通常会有使用这些产品对象来实现一定的功能的方法,而且这些方法所实现的功能通常都是公共的功能,不管子类选择了何种具体的产品实现,这些方法的功能总是能正确执行。
/**
* 创建器,声明工厂方法
*/
public abstract class Creator {
/**
* 创建Product的工厂方法
* @return Product对象
*/
protected abstract Product factoryMethod();
/**
* 示意方法,实现某些功能的方法
*/
public void someOperation() {
//通常在这些方法实现中,需要调用工厂方法来获取Product对象
Product product = factoryMethod();
}
}
2、
本文深入探讨了工厂方法模式与策略模式的概念、实现方式及其在实际编程中的应用区别,通过实例展示了如何利用这两种模式扩展和复用代码。
758

被折叠的 条评论
为什么被折叠?



