【转】静态工厂模式static factory method(简单工厂模式 simple facotry)

发布于:2021-10-16 03:40:57

一、静态工厂方法模式(简单工厂模式)


为水果类声明了一个接口,表现在代码上:



?1

public
?
interface
?Fruit
{
?2 ???? // 生长
?3 ????? void ?grow();
?4 ????? // 收获
?5 ????? void ?harvest();
?6 ????? // 种植
?7 ????? void ?plant();
?8 }


?9


10


?




package
?fac;

public
?
class
?Apple?
implements
?Fruit
{ // 通过implements实现接口Fruit
???? private ? int ?treeAge;


?




package
?fac;



package
?fac;



package
?fac;



package
?fac;








package
?org.jzkangta.factorydemo01;






package
?fac;






interface
?Car
{


对比三个实例:
实 例一,虽然实现了简单工厂,但每次只能得到一种汽车,如果我们想换一种,就得修改工厂,太不方便,而实例二则改变了这种情况,便得我们可以按照我们的需要 更换汽车,但我们所更换的汽车必须是实现类中有的,如果我们想要增加一种汽车的时候,我们还是得更改工厂,通过改进,实例三利用反射机制,得到汽车类型, 这样当我们需要增加一种新的汽车时,就无需要再修改工厂,而只需要增加要实现的类即可。也就是说要增加什么样的汽车直接增加这个汽车的类即可,而无需改变 工厂。从而达到了工厂分离的效果。

相关推荐

最新更新

猜你喜欢