美文网首页
设计模式

设计模式

作者: 飞哥漂流记 | 来源:发表于2020-07-29 17:07 被阅读0次

    3.介绍有哪些设计原则,并让比较详细的说了其中开闭原则在项目中的应用?zzzz

    单一职责原则:一个类只负责一件事

    开闭原则:OC中category,通过runtime 添加交换方法等,都是开闭原则 对修改关闭 对扩展开发

    里氏替换原则:父类可以被子类无缝替换 且原有功能不受影响(KVO)

    接口隔离原则:使用多个专门的协议 而不是一个庞大臃肿的协议

    依赖倒置原则:抽象不依赖于具体实现 具体实现依赖于抽象

    迪米特法则:一个对象应当对其他对象尽可能少的了解 高内聚 低耦合

    4. iOS SDK 里面有哪些设计模式的实践?zzzz

    单例设计模式:在项目中,单例是必不可少的。比如UIApplication、NSUserDefaults就是苹果提供的单例。在项目中经常会将用户数据管理封装成一个单例类,因此用户的信息需要全局使用。

    单例确实给我们带来的便利,但是它也会有代价的。单例一旦创建,整个App使用过程都不会释放,这会占用内存,因此不可滥用单例。

    KVC/KVO设计模式:有的时候需要监听某个类的属性值的变化而做出相应的改变,这时候会使用KVC/KVO设计模式。在项目中,我需要监听model中的某个属性值的变化,当变化时,需要更新UI显示,这时候使用KVC/KVO设计模式就很方便了。

    通知(NSNotification)模式:通知在开发中是必不可少的,对于跨模块的类交互,需要使用通知;对于多对多的关系,使用通知更好实现。

    工厂设计模式:在我的项目中使用了大量的工厂设计模式,特别是生成控件的API,都已经封装成一套,全部是扩展的类方法,可简化很多的代码。

    类簇:NSNumber;装饰者模式:分类;命令模式:NSInvocation;享元模式:UITableviewCell(UITableview的重用

    适配器模式:{

    对象适配器:创建一个新类 原类作为对象 在新类中调用原类的方法并增加响应的逻辑代码

    类适配器:

    }

    一个现有类是哟适应变化的问题

    责任链:Abstract class ------------> 成员变量 <-------------- Abstract Class

    解决一个需求变更的问题

    BussinessC ------->  BussinessB -------->  BussinessA ------->nil

    定义:在当前类定义一个和当前类相同的成员变量

    应用:UI事件传递机制

    桥接:

    一个业务解耦的问题

    一个列表 需要三个网络数据请求并存 并由后台控制使用哪个网络数据

    命令模式:

    特点:行为参数化 优势:降低代码重合度

    包括命令管理者(单例) 和具体命令实施类 

    相关文章

      网友评论

          本文标题:设计模式

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