设计模式是面向对象程序编程的重要学习内容。设计模式的应用对于面向对象编程来说相当于经验,能够复用代码同时安全可靠。本文介绍工厂模式、策略模式和适配器模式。

工厂模式包括简单工厂模式,工厂方法模式和抽象工厂模式。

简单工厂模式:是根据模型或标签(参数)选择生产不同的产品。表现在一个工厂生产多种产品。

工厂方法模式:是在简单工厂模式上进化而来的。表现在有多个工厂,每个工厂生产一种产品。

抽象工厂模式:和工厂方法模型类似。但是每个工厂此时生产一类产品,可能包括多种产品。

策略模式:所谓的策略模式书上说用在算法封装等。首先将算法封装成一个抽象类,继承抽象类可以有不同的实现。其他类怎么引用呢?其他类拥有抽象类对象,利用指针、或标签、模板初始化设置不同的算法实现。

适配器模式:大家平时用的 各种充电器 又叫作电源适配器, 作用就是 把一定范围的电压变成 被充电设备的充电电压,比如大家可以看看 手机充电器  一般上面会写  input  110v ~ 220V  output 3.7V 或者 4.2V.  也就是说家里常用的交流电都可以通过电源适配器对手机充电。  那么反映在程序中,咱们的适配器是啥意思呢。 比如有一套老的接口 返回的数据是 xml格式,但是 新的 ui界面只能支持json数据结构,而且大部分新的接口都是json的格式返回数据。那么为了兼容老的接口,就需要来个特定的类或者特定的方法(具体是创建类还是创建到公共方法 根据具体需要灵活掌握) 将xml解析后 转换成json结构,这样ui界面呢的解析方式不用变 ,老接口也不用变知识中间转换了一下,这就叫适配器模式。

流程图如下  当然xml转json只是一个应用场景,只要是 大类型相同、小类型并列的都可以用适配器来解决差异化。 (比如xml 和 json 都是数据结构,但是结构确各自不同。)

欢迎大家留言评论提出问题

看完领个红包再走吧,感谢支持

更多传送门已经为大家准备好

https://blog.csdn.net/yutianxin123/article/details/52447070

http://www.cnblogs.com/geek6/p/3951677.html

https://blog.csdn.net/liuxiaofan_/article/details/81988456

https://blog.csdn.net/u010388497/article/details/49537721

iOS 23 种设计模式的更多相关文章

  1. Flyweight模式_Java中23种设计模式

    —————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流! —————————— 享元模式: Flyweight模式的有效性很大程度上取决于如何使用它以及在何处使用 ...

  2. Java开发中的23种设计模式详解

    [放弃了原文访问者模式的Demo,自己写了一个新使用场景的Demo,加上了自己的理解] [源码地址:https://github.com/leon66666/DesignPattern] 一.设计模式 ...

  3. Java开发中的23种设计模式详解(转)

    设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...

  4. Java开发中的23种设计模式(转)

    设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...

  5. c#中的23种设计模式

    C# 23种设计模式汇总 创建型模式 工厂方法(Factory Method) 在工厂方法模式中,工厂方法用来创建客户所需要的产品,同时还向客户隐藏了哪种具体产品类将被实例化这一细节.工厂方法模式的核 ...

  6. Java 23种设计模式

    转自: http://zz563143188.iteye.com/blog/1847029 ; i<count; i++){ list.add(new MailSender()); } } pu ...

  7. 从追MM谈Java的23种设计模式(转)

    从追MM谈Java的23种设计模式    这个是从某个文章转载过来的.但是忘了原文链接.如果知道的,我追加一下. 1.FACTORY-追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西 ...

  8. java 23种设计模式及具体例子 收藏有时间慢慢看

    设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代 码可靠性. 毫无疑问,设计模式 ...

  9. JAVA:23种设计模式详解(转)

    设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...

随机推荐

  1. 一个Itextsharp 批量添加图片到pdf 方法

    这里我就直接把我的页面贴进来了 using System; using System.Collections.Generic; using System.Web; using System.Web.U ...

  2. CSS盒模型简单用法

    1.盒模型 margin:外边距: margin-top /margin-right/margin-bottom/margin-left; 或者 margin:top right bottomleft ...

  3. Ionic Android开发环境搭建 上

    首先,需要下载并安装Node.js. 什么是Node.js?百科上说:Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快.易于扩展的网络应用.Nod ...

  4. 更改Activity亮度

    有些需求需进入到页面后更改Activity的亮度,退出页面后恢复到之前的亮度.通过更改WindowManager.LayoutParams的screenBrightness可以达到这个效果.scree ...

  5. Kettle 连接 oracle

    问题1:加载不了驱动 Kettle 不包含jdbc的驱程 所以需要把Ojdbc6.jar 放到 Kettle目录下 4.X: \libext\JDBC 5.x: \lib   问题2:没打开监听 症状 ...

  6. php 提交保存成功页面 倒计时 跳转

    前几天做了一个简单的成功提示页面! 有需要的可以拿去用,写的不好 欢迎指正!~~ 因为工程是在CI下面做的,url 自己用的话需要改正下函数!site_url()  这个函数式CI框架的 <ht ...

  7. windows时间同步出错

    http://jingyan.baidu.com/article/fd8044faf1f7ae5030137a7d.html

  8. Spring IoC容器的设计——BeanFactory应用场景2

    1.BeanFactory接口设计了getBean方法,这个方法是使用IoC容器API的主要方法,通过这个方法,可以取得IoC容器中管理的Bean,Bean的取得是通过指定名字来索引的. 2.如果需要 ...

  9. 怎样把function中的arguments变成普通数组

    当我们在写一个具有处理可变长度参数的函数时,需要对arguments做一些操作.但是arguments它并不是一个数组,没有数组的各种操作,而且,JS的严格模式中不允许更改它的值. 这时我们需要将它的 ...

  10. hdu 1874 畅通工程续 Dijkstra

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874 题目分析:输入起点和终点,顶点的个数,已连通的边. 输出起点到终点的最短路径,若不存在,输出-1 ...