目录
1.简单工厂模式 simpleFactory
概述
工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。
何时使用:我们明确地计划不同条件下创建不同实例时。
接口类
package com.dahan.simlpefactory;
/**
* 大汉软件
*/
public interface Phone {
void makeCall();
}
实现类
package com.dahan.simlpefactory.impl;
import com.dahan.simlpefactory.Phone;
/**
* 大汉软件
*/
public class HuaweiPhoneImpl implements Phone {
@Override
public void makeCall() {
System.out.println("用华为手机打电话");
}
}
package com.dahan.simlpefactory.impl;
import com.dahan.simlpefactory.Phone;
/**
* 大汉软件
*/
public class MiPhoneImpl implements Phone {
@Override
public void makeCall() {
System.out.println("用小米手机打电话");
}
}
简单工场类
package com.dahan.simlpefactory;
import com.dahan.simlpefactory.impl.HuaweiPhoneImpl;
import com.dahan.simlpefactory.impl.MiPhoneImpl;
/**
* 大汉软件
*/
public class SimplePhoneFactory {
public Phone getBean(String phoneType) {
Phone phone;
if ("mi".equals(phoneType)) {
phone = new MiPhoneImpl();
} else if ("huawei".equals(phoneType)) {
phone = new HuaweiPhoneImpl();
} else {
return null;
}
return phone;
}
}
测试类
package com.dahan.simlpefactory;
/**
* 大汉软件
*/
public class Test {
public static void main(String[] args) {
SimplePhoneFactory factory = new SimplePhoneFactory();
Phone mi = factory.getBean("mi");
mi.makeCall();
Phone huawei = factory.getBean("huawei");
huawei.makeCall();
}
}
测试结果:
用小米手机打电话
用华为手机打电话