美文网首页
设计模式

设计模式

作者: 荷码人生 | 来源:发表于2020-04-25 21:11 被阅读0次

    六大设计原则:单一职责原则、依赖倒置原则、开闭原则、里氏替换原则、接口隔离原则、迪米特法则;

    单一职责原则:一个类只负责一个事(UIView,Calayer)

    开闭原则:
    对修改关闭、对扩展开发。(避免对类的反复修改,类的数据结构设定后,可利用扩展的方式,修改)

    接口隔离原则:(UITableView的两个协议)
    使用多个专门协议,避免庞大协议:dataSource(数据源),delegate(回调代理事件)

    里氏替换原则:(KVO)(A-->NSKVONotifying_A)
    父类可以被自类无缝替换,且原有功能不受影响。

    迪米特法则:
    一个对象应该对其他对象有尽可能少的了解,成员变量以及方法。
    高内聚 低耦合

    依赖倒置原则:
    抽象不应该依赖具体实现,具体实现可以依赖抽象。

    向我们使用的数据的增删改查,只需要报露接口,不需要让调用方知道,我们是使用的那种的存储方式。

    责任链模式:
    一个需求变更逻辑问题?业务流程调整?
    桥接模式:
    解耦问题:

    适配器:对象适配器、类适配器

    通过成员变量的方式集成要被更改的类,比如说:要修改类A,直接在创建一个类,并将要修改的类,创建成员变量。

    单例模式:
    创建的方式:
    重写两个方法:
    allocWithZone: && copyWithZone: 防止创建新的对象。

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

    图片缓存框架的实现:

    构建:

    Manager(负责调度) 内存缓存 ->磁盘缓存(解码&&压缩/解压缩)-> 网络下载-->存储在内存缓存中。

    记录器的类别:
    页面式(push开始,pop结束)
    流式(阅读浏览某条新闻时间)
    自定义式(视频播放开始结束)

    RN:数据流--->子节点没有处理刷新数据的能力,使用反向刷新的操作。

    桥接模式:

    (1) 抽象类A(调用方) 有属性抽象类B(数据层) , 抽象A 或 B 又有 不同的抽象A、B的子类与之对应。子类中分别实现父类方法,调用的不同的逻辑。这样就实现了不同的数据类耦合的现象。
    在调用的时候,分别取不同的组合就可以了。

    责任链模式:需求变更问题-------

    转发评论赞 :命令模式:行为参数化。 降低代码重合度。

    相关文章

      网友评论

          本文标题:设计模式

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