设计模式

一.六大设计原则

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

六大设计原则

设计模式可以分为三大类:
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方法.

六.命令设计模式

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容