初识工厂模式
程序员文章站
2024-01-10 09:25:22
...
工厂模式
工厂模式:属于创建型模式,定义一个创建对象的接口,工厂模式使其创建过程延迟到子类进行,让其子类自己决定实例化哪一个工厂类。
在我看来,你要买一辆好车,你直接去4s店买就行了,不用知道谁造的*,怎么造的,你只用知道,美观,舒适,体验度高就行了。
应用实例
首先定义好创建的接口,规定好造的东西得是车吧,总不能你买苹果电脑去4s店吧(当然你可以去试试),而且等我有了钱,能够造成很多种车的时候,只需要怎么造,我就能很快的生产了,总不能有了新想法就造个工厂吧,那得多糟践呀。
//我们定义好咱厂只能生产汽车
public interface Car {
void produce();
}
规定只能造车了,得知道怎么造车吧。
public class BWM implements Car{
//先规定如何造宝马
@Override
public void produce() {
System.out.println("produce BWM!!!");
}
}
我可发明了两种车的制作方法。
public class Mercedes implements Car{
//在规定如何造奔驰
@Override
public void produce() {
System.out.println("produce Mercedes!!!!");
}
}
我的工厂我做主,宝马卖的好,我就造宝马,奔驰人们喜欢我就造奔驰,这样才能利益最大化呀。
public class Car_Factory {
//要啥造啥
public Car getCar(Car car){
if (car.getClass() == BWM.class){
return new BWM();
}else{
return new Mercedes();
}
}
}
厂子建好了,来开始造吧,快速投入运营吧,不然没钱交房租了!!!
public class Car_FactoryDemo {
public static void main(String[] args) {
Car car1 = new Car_Factory().getCar(new BWM());//造宝马
car1.produce();
Car car2 = new Car_Factory().getCar(new Mercedes());//造奔驰
car2.produce();
}
}
这样需要车的人就不需要知道怎么造车了,保护了我的知识产权,终于正式投入运营了,祝开业大吉呀!!!!
总结
工厂模式是创建型模式的一种,主要解决的问题就是在客户端创建对象的时候不暴露创建逻辑,是一种较为常见的设计模式。
积土成山,风雨兴焉!!!!