设计模式
简单工厂模式:
工厂模式是一种设计模式
我们可以这么理解,比如我们现在需要一个桌子,家附近有一个家具厂,还有一个私人工坊的老木匠,如果我们去请他私人制作一个,那么就属于单例设计模式,而去工厂买一个流水线上生产的,就是工厂模式。
结合生活实际我们可以这么理解,自己做的,从0到有需要重新设计,而工厂模式,就是先设计好流水线,设计好图纸,生产过程,来生产的,这样我们每次改,只需要改图纸就好了。
作用:创建对象
要求:父类/接口、子类/实现类、工厂类
好处:
1.减少了繁琐的new对象的代码。
2.代码和创建对象解耦合。
3.让代码尽量不依赖具体,依赖抽象
举例子
我们先写一个接口
public interface Tree {
public void grow();
}
再写俩个实现类
package com.jcp.demo3;
public class AppleTree implements Tree{
@Override
public void grow() {
System.out.println("苹果树正在生长");
}
}
我们在创建一个工厂类,
package com.jcp.demo3;
public class GrapeTree implements Tree{
@Override
public void grow() {
System.out.println("GrapeTree树正在生长");
}
}
我们只需要根据我们想买创建的对象名字,就可以获得一个该类的对象。
等后面学到spring框架里,这个名字,也就是配置文件里的bean标签。
package com.jcp.demo3;
public class TreeFactory {
//根据传进的参数判断赢创建什么对象。
public static Tree create(String fruit){//规定好的 fruit
if("apple".equals(fruit)){
return new AppleTree();
}else if("grape".equals(fruit)){
return new GrapeTree();
}else return null;
}
}
package com.jcp.demo3;
public class TestTree {
public static void main(String[] args) {
//测试
Tree apple=TreeFactory.create("Apple");
Tree grape=TreeFactory.create("Grape");
}
}