创建模式
来源:互联网 发布:杨震"四知"文言文翻译 编辑:程序博客网 时间:2024/06/07 02:08
看设计模式有些日子了,但是感觉空空的,脑子里没有留下什么,所以想停下来总结总结,回忆回忆!
设计模式看着很多,整本书有三十章,包括具体的模式和设计原则,其实归类划分有六大原则,23个模式,具体的模式又分为三大类,分别为创建模式、行为模式和结构模式,今天就先看看创建模式吧!创建模式中包含了工厂模式(简单工厂、工厂方法、抽象工厂)、建造者模式、原型模式、单例模式、多例模式。
【工厂模式】
简单工厂模式
介绍
简单工厂是我们接触的第一个设计模式,应该算是最简单的吧。我们开始的想法就是程序能够运行,没有bug,就是好的,根本没有意识去考虑代码的可维护性、可复用性、可扩展性、灵活性,更不会去想设计原则了。
类图
流程
先实例化一个Operation,然后输入运算符号,例如“+”,此时就用的了工厂OperationFactory,在里面判断输入的运算符号,然后根据判断的情况实例化出具体的运算类OPerationAdd,接着输入运算数字A和B,最后在加法类中得到运算结果并输出。
工厂方法
介绍
比简单工厂更加优化,更加细化,在简单工厂的细化出具体的工厂,即加法、减法、乘法、除法工厂。
专业术语就是Factory Method是定义一个用于创建对象的接口,让子类决定实例化哪个类。工厂方法使一个类的实例化延迟到子类。
流程
先由接口实例化一个工厂,例如大学生工厂,实例大学生的时候实现工厂中的方法,并创建出大学生子类,大学生子类又是继承雷锋基类,实现具体行为。
抽象工厂
介绍
Abstract Factory,提供一个创建一系列相关或者相互依赖对象的接口,而无需要指定他们具体的类。
优点
易于交换产品系列,让具体的创建实例过程与客户端分离,客户端是通过他们的抽象接口操纵实例,产品的具体类名也被具体工厂的实现分离,不会出现在客户端中。符合开放-封闭原则和依赖倒转原则。
缺点
有一个丑陋的做法就是需要大批量的改动。
流程
先实例化出新的Department和User以及需要访问的数据库的工厂,例如AccessFactory,然后在工厂中实例化出访问的用户,在此用户下实现具体的增加方法。
【建造者模式】
介绍
【原型模式】
介绍
【单例模式】
介绍
创建者模式
- 创建模式
- 创建模式
- 创建模式
- 创建模式
- 创建模式
- 创建模式:Singleton模式
- 创建模式:Builder模式
- 创建模式:Prototype模式
- 创建模式-工厂模式
- 创建模式-生成器模式
- 设计模式-创建模式
- 设计模式-创建模式
- 创建模式->原型模式
- 设计模式-创建模式
- 创建模式--简单工厂模式
- 设计模式之创建模式
- 创建模式中的工厂模式
- 工厂模式--创建型模式
- 跟着源码看ArrayList、LinkedList、HashMap、HashSet的内部存储机制
- SRM675 medium ShortestPathWithMagic(DP+Dijkstra)
- 点击任意键关闭弹窗,阻止冒泡
- Logistic Regression
- JQueryMobile+融云webSDK创建的聊天室有多余空白
- 创建模式
- ==与===区别
- VirtualBox安装中遇到的问题
- IntelliJ IDEA 性能调整
- 关于SVN弹出“update change sets for svnstatussubscriber......”的处理
- Emmagee(一)-Cpu读取的实现分析
- 奇怪的php连接sqlserver的错误
- cocos2d-x TestLua 之 CCMenuItemLabel CCMenuItemSprite CCMenuItemFont 菜单类
- Tomcat 工作原理