工厂模式

来源:互联网 发布:俄罗斯的聊天软件 编辑:程序博客网 时间:2024/06/01 10:51

类图


代码度量


假设代码:

如果需要生产比亚迪汽车,需要修改三处地方

"            ICar car1 = SimpleCarFactory.CreateCar("生产比亚迪");
            ICar car2 = SimpleCarFactory.CreateCar("生产比亚迪");
            ICar car3 = SimpleCarFactory.CreateCar("生产比亚迪");"

            //界面逻辑代码            //简单工厂模式            //生产3量宝马汽车            ICar car1 = SimpleCarFactory.CreateCar("生产宝马车");            ICar car2 = SimpleCarFactory.CreateCar("生产宝马车");            ICar car3 = SimpleCarFactory.CreateCar("生产宝马车");            car1.Introduce();            car2.Introduce();            car3.Introduce();

如果需要生产比亚迪起汽车,需要修改一处地方

“ICarFactory carFactory = new BYDFactory()”

            //界面逻辑代码            //工厂模式            //生产3量宝马汽车            ICarFactory carFactory = new BMWFactory();            ICar car1 = carFactory.CreateCar();            ICar car2 = carFactory.CreateCar();            ICar car3 = carFactory.CreateCar();            car1.Introduce();            car2.Introduce();            car3.Introduce();


工厂模式优点:

1.降低了耦合性

2.相比简单工厂模式,添加新类不需要再修改工厂管理类,符合了开放--封闭原则

缺点:

1.把判断的逻辑放在了界面逻辑上,增加了客户端的复杂度。

2.每次添加新的产品类都比简单工厂模式需要更多的代码量


1 0
原创粉丝点击