设计模式

来源:互联网 发布:琅琊榜飞剑进阶数据 编辑:程序博客网 时间:2024/06/03 21:13

这篇文章会回答下面四个问题

1.工厂模式是要解决什么问题。

2.简单工厂模式解决了什么问题,有什么不足

3.工厂方法模式解决了什么问题,有什么不足

4.抽象工厂模式解决了什么问题,有什么不足


1.工厂模式是要解决什么问题。

简单的对象通过new关键字来创建没有什么问题,当一个对象很复杂,比如,这个对象要依赖很多对象,我根本不想知道他依赖哪些对象,我只想简单的实例化这个对象。简单工厂模式来解决这个需求。


2.简单工厂模式解决了什么问题,有什么不足

简单工厂模式就是一个方法(我们可以称为工厂方法)来创建对象,这个方法返回你需要创建的对象,依赖他都帮你弄好。可以有个缺点,我又新来了一个对象,又要改这个工厂方法,违反了开闭原则,所有的对象,一个工厂来创建有违反了职责单一原则。工厂方法模式来解决这个问题。


3.工厂方法模式解决了什么问题,有什么不足

工厂方法模式就是一个类(我们可以称为工厂类)来创建对象,一个工厂只能创建一种对象,有新对象来,再加一个工厂类,符合开闭原则,一个工厂只创建一个类,符合职责单一原则,完美。可有个问题,我一个系统这么多对象,一个对象一个工厂类,太麻烦了。抽象工厂模式来解决这个问题。


4.抽象工厂模式解决了什么问题,有什么不足

抽象工厂模式就是一个类可以创建一组或者相互依赖的对象,比如我需要一个自行车的对象,车轮,车座这些对象的创建都用一个工厂类来创建,这个工厂类就不会很多了。


题外话

我的设计模式系列文章,重在帮忙大家一起理解各种设计模式,不会写具体的代码实现,具体实现自行查阅其它文档(我不会告诉你,是我赖的费时间上传代码大笑


原创粉丝点击