美文网首页
iOS设计模式简单说明

iOS设计模式简单说明

作者: Future_3e45 | 来源:发表于2019-08-07 16:32 被阅读0次

    设计模式是一些非常抽象的概念,单从字面理解起来比较困难,所以对每个设计模式写了些说明/例子来方便理解。
    由于本人才疏学浅,所以有些地方我会结合iOS开发中的一些实例来说明,如有不完善/错误的地方,请各位大佬谅解,也欢迎各位大佬指正。谢谢!

    • 代理模式 Porxy

    UITableViewDelegate
    我是一个委托人,我可以有一个代理人,帮我完成一些任务,我不需要关心谁是我的代理人,只要他们完成我的任务

    • 单例模式 Singleton

    SharedApplication
    这个世界上现在只有一个你,不会出现第二个你

    • 观察者模式 Observer

    Observer/Notification
    你打开(注册)App的通知,就成为了App消息(被观察者)的(观察者),当有新消息时,你就会受到推送(通知),没有打开的就不会受到通知

    • 责任链模式 Chain

    一系列待响应者按照顺序进行响应,直到有响应者为止
    iOS事件传递机制,SubSubView->Subview->View

    • 门面/外观模式 Faced

    组合封装
    将零件组装成汽车,将低级方法封装成更高级的方法

    • 迭代器模式 Interator

    数据库查询结果中next()
    公司组织无偿献血,护士只需要按顺序给每个人抽血就可以,不需要关心公司的组织架构是什么样

    • 原型模式 Prototype

    copy方法
    你有一份调查报告是通过各种调研得来的,同事有个任务也需要你的报告,你通过复印(copy)给他一份,让他也可以拥有一份

    • 装饰器模式 Decorator

    Extension/Catagory 拓展
    一个人拿上扫帚可以打扫卫生,拿上拖把可以拖地,同事拿上扫帚和拖把,又可以扫地,又可以拖地

    • 享元模式 Flyweight

    UITableView重用机制
    把对象放入重用池,需要的时候优先从重用池中取,重用池中没有时,才会新建

    • 解释器模式 Interpreter

    对正则表达式、SQL语句等String进行解释

    • 适配器模式 Adapter

    对接口适配

    • 状态模式 State

    根据不同状态有不同的行为
    错误展示页根据不同的错误显示不用的页面

    • 中介者模式 Mediator

    解耦,通过中介实现不同类/模块之间的通信
    MGJRouter、CTMediator等三方库

    • 桥接模式 Bridge

    抽象与实现解耦,可以独立进行变化

    • 策略模式 Strategy

    执行方法在运行时进行更改,指定不同策略,执行不同方法

    • 组合模式 Composite

    部分-整体树形结构,对部分和整体的调用保持一致

    • 访问者模式 Visitor

    父类相同的子类具有同名的父类方法,在运行时根据调用对象不同来执行不同方法


    • 备忘录模式 Memento

    状态存档
    以便于撤销/重做

    • 命令模式 Command

    通过发布命令来调用
    将一次操作作为一个请求进行保存,以便于撤销/重做


    • 工厂模式 Factory

    不调用new来新建复杂对象,而是通过工厂
    一个馒头厂可以生产馒头

    • 抽象工厂模式 Abstract Factory

    一个面食厂可以生产馒头,也可以生产面包


    • 模板方法模式 Template

    流程确定,可以重写方法

    • 建造者模式 Builder

    方法确定,流程自由组合


    相关文章

      网友评论

          本文标题:iOS设计模式简单说明

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