设计模式---工厂模式

工厂模式介绍

1.工厂模式?
    
    工厂设计模式是最常见的设计模式之一,在工厂模式中,提供一种最佳的创建对象的方式,最大程度的实现代码的解耦。
     
    工厂模式的优缺点:
    优点:
        高度解耦,不需要再去new对象;
        扩展性高:当你想增加一个产品,只需要扩展工厂类,并增加一个产品即可;
        使用简单:屏蔽了产品的具体实现,使用者只用关注产品的接口即可;
    缺点:
        每次增加一个产品的时候都需要新增一个实现类,这样下来类的数量不断增加,增加了系统复杂度;
    
2.工厂模式的简单实现:
    1.一个接口:
        public interface Car {
            void run();
        }
        
    2.接口的实现类对象:
        实现类1:
        public class Benz implements Car {
            @Override
            public void run() {
                System.out.println("我买了一辆奔驰,贼高端!!!");
            }
        }
        
        实现类2:
        public class Ferrari implements Car {
            @Override
            public void run() {
                System.out.println("我买了一辆法拉利, 跑的贼快!!!");
            }
        }
        
    3.工厂类:
        public class CarFactory {

            //对外提供方法,便于外界获取实例对象
            public Car getInstance(String brand) {
                if (brand == null) {
                    return null;
                }

                if ("Ferrari".equals(brand)) {
                    return new Ferrari();
                } else if ("Benz".equals(brand)) {
                    return new Benz();
                }
                return null;
            }
        }
        
    4.测试:
        public class CarTest {
            public static void main(String[] args) {

                //创建工厂对象
                CarFactory carFactory = new CarFactory();
                //获取对象
                Car benz = carFactory.getInstance("Benz");
                benz.run();
            }
        }

    
        
    

        

 

posted @ 2020-04-22 10:42  moonlighter  阅读(114)  评论(0编辑  收藏  举报