“每个类型的对象都有它们自己的工厂。”
构造类
还是用水果来举例,首先创建一个Fruit:
|
|
创建橘子类:
|
|
创建苹果类:
|
|
构建工厂
工厂方法模式和简单工厂模式的不同之处就在于,工厂的创建,它会首先声明一个抽象工厂接口:
|
|
然后针对每个水果,分别实现它们自己的工厂,首先是苹果工厂:
|
|
然后是橘子工厂:
|
|
测试用例
|
|
设计模式的原则
遵守了开闭原则,不用去修改已存在的工厂,和简单工厂方法最大的区别就在于,它为每个类都配备了一个专属的工厂,这些工厂都实现了同一个抽象工厂接口。
“每个类型的对象都有它们自己的工厂。”
还是用水果来举例,首先创建一个Fruit:
|
|
创建橘子类:
|
|
创建苹果类:
|
|
工厂方法模式和简单工厂模式的不同之处就在于,工厂的创建,它会首先声明一个抽象工厂接口:
|
|
然后针对每个水果,分别实现它们自己的工厂,首先是苹果工厂:
|
|
然后是橘子工厂:
|
|
|
|
遵守了开闭原则,不用去修改已存在的工厂,和简单工厂方法最大的区别就在于,它为每个类都配备了一个专属的工厂,这些工厂都实现了同一个抽象工厂接口。