设计模式
来源:互联网 发布:琅琊榜飞剑进阶数据 编辑:程序博客网 时间:2024/06/03 21:13
这篇文章会回答下面四个问题
1.工厂模式是要解决什么问题。
2.简单工厂模式解决了什么问题,有什么不足
3.工厂方法模式解决了什么问题,有什么不足
4.抽象工厂模式解决了什么问题,有什么不足
1.工厂模式是要解决什么问题。
简单的对象通过new关键字来创建没有什么问题,当一个对象很复杂,比如,这个对象要依赖很多对象,我根本不想知道他依赖哪些对象,我只想简单的实例化这个对象。简单工厂模式来解决这个需求。
2.简单工厂模式解决了什么问题,有什么不足
简单工厂模式就是一个方法(我们可以称为工厂方法)来创建对象,这个方法返回你需要创建的对象,依赖他都帮你弄好。可以有个缺点,我又新来了一个对象,又要改这个工厂方法,违反了开闭原则,所有的对象,一个工厂来创建有违反了职责单一原则。工厂方法模式来解决这个问题。
3.工厂方法模式解决了什么问题,有什么不足
工厂方法模式就是一个类(我们可以称为工厂类)来创建对象,一个工厂只能创建一种对象,有新对象来,再加一个工厂类,符合开闭原则,一个工厂只创建一个类,符合职责单一原则,完美。可有个问题,我一个系统这么多对象,一个对象一个工厂类,太麻烦了。抽象工厂模式来解决这个问题。
4.抽象工厂模式解决了什么问题,有什么不足
抽象工厂模式就是一个类可以创建一组或者相互依赖的对象,比如我需要一个自行车的对象,车轮,车座这些对象的创建都用一个工厂类来创建,这个工厂类就不会很多了。
题外话
我的设计模式系列文章,重在帮忙大家一起理解各种设计模式,不会写具体的代码实现,具体实现自行查阅其它文档(我不会告诉你,是我赖的费时间上传代码)
阅读全文
1 0
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式~~~~~~~~~~
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 飞思卡尔i.MX 6Quad Android 4.2.2的LVDS屏幕驱动移植
- eclipse里maven debug-tomcat:run注意
- VS2013下C++调用ocilib访问oracle
- 天哪,我的第一篇博客
- 13、类型转换(TypeHandler)介绍
- 设计模式
- Spring源码解析之二 ------ 自定义标签的解析和注册(IOC的第一步)
- LeetCode | 45. Jump Game II
- Windows获取系统当前时区的两种方法
- 最新[Android地图sdk] 踩坑经验分享 DistanceUtil.getDistance报错
- springboot之过滤器(filter)
- Java多线程,Runnable和Thread的详解
- 成员变量 全局变量 静态方法 非静态方法 内存图解
- java配置project.home