美文网首页
设计模式

设计模式

作者: 李永开 | 来源:发表于2019-02-12 14:50 被阅读0次

一.六大设计原则

设计模式应遵守六大设计原则,分别是 单 开 接 依 里 迪

六大设计原则

设计模式可以分为三大类:
1.创建型模式:单例、工厂模式
2.结构型模式:代理、适配器、组合、装饰模式
3.命令型模式:责任链、观察者模式

二.责任链模式

iOS中的响应者链就是责任链设计模式的一种.
UIResponder有一个属性nextResponder也是UIResponder类型的,也就是自身包含自身类型的一个对象.

  • 可以使用责任链模式来解决需求变更问题
    原来有个需求: 业务a -> 业务b -> 业务c
    现在需要改变顺序为 : 业务c -> 业务b -> 业务a
    那么可以通过修改nextResponder的顺序就可以完成需求的变更.

三.桥接设计模式

创建一个抽象的父类,预留好方法声明.
然后创建多个子类根据不同的需求来复写父类的方法.
这样调用方就不需要知道具体哪个子类实现具体的逻辑,只需要调用父类预留的方法就好.

  • 其实是利用了面向对象多态的特性.

四.适配器设计模式

适配器设计模式 : 一个现有类需要适应变化的问题.

  • 对象适配器
    对象a是一个久远的对象,现在需要修改部分逻辑.
    解决办法: 新创一个对象b并把对象a作为其属性,然后对象b完成逻辑修改并掉用对象a原有的逻辑方法.
    和hook相反:适配器是包装原对象,hook是拦截原对象
  • 类适配器

五.单例设计模式

单例模式需要注意:别人可能通过alloc init 或者 copy方法创建,所以要重写allocWithZonecopyWithZone方法.

六.命令设计模式

命令设计模式 : 行为参数化,降低代码重合度

开始命令将其加入数组,执行完成移除数组.
通过判断是否在数组内就可以知道命令是否在执行中.

相关文章

  • 设计模式

    常用的设计模式有,单例设计模式、观察者设计模式、工厂设计模式、装饰设计模式、代理设计模式,模板设计模式等等。 单例...

  • 设计模式笔记汇总

    目录 设计原则 “依赖倒置”原则 未完待续... 设计模式 设计模式——策略模式 设计模式——装饰者模式 设计模式...

  • 设计模式

    《C#设计模式》 《C#设计模式》-设计模式概述 《C#设计模式》-面向对象设计原则 《C#设计模式》-单例模式 ...

  • 浅谈JS的一些设计模式

    @(书籍阅读)[JavaScript, 设计模式] 常见设计模式 设计模式简介 设计模式概念解读 设计模式的发展与...

  • 前端设计模式

    JS设计模式一:工厂模式jS设计模式二:单例模式JS设计模式三:模块模式JS设计模式四:代理模式JS设计模式五:职...

  • 设计模式之工厂模式

    设计模式之工厂模式 标签(空格分隔): 设计模式 工厂模式 设计模式的感念 设计模式的应用 工厂设计模式的产生 工...

  • JavaJavascript基础进阶(十七)JS中常用的设计模式

    单利设计模式、构造原型设计模式、发布订阅设计模式、promise设计模式 单利模式 构造原型设计模式 最贴近OOP...

  • 设计模式 - 目录

    设计模式01 - 单例模式 设计模式02 - 工厂模式 设计模式03 - 建造者模式 设计模式04 - 适配器模式...

  • 第1章 设计模式概述

    一、设计模式的概念 二、设计模式的历史 三、设计模式的要素 四、设计模式的分类 ■ 创建型设计模式 ■ 结构型设计...

  • iOS设计模式(3)适配器模式

    设计模式系列文章 《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(4)抽象工...

网友评论

      本文标题:设计模式

      本文链接:https://www.haomeiwen.com/subject/mkfkeqtx.html