iOS设计模式

1、MVC

通过数据模型,控制器逻辑,视图展示将应用程序进行逻辑划分,

model-即数据模型,view-视图展示,controller进行UI展现和数据交互的逻辑控制。

2、MVVM

MVC 的增强版,并将表示逻辑从 Controller 移出放到一个新的对象里,即 View Model

在 iOS 上使用 MVVM 的动机,就是让它能减少 View Controller 的复杂性并使得表示逻辑更易于测试

model-即数据模型,view-视图展示,ViewController进行UI展现,ViewModel数据交互的逻辑控制。

3、KVO

监听对象属性值的变化

self.fizz= [[Fizzalloc]init];

    self.kvoController = [FBKVOController controllerWithObserver:self];

    //添加监听    [self.kvoControllerobserve:self.fizzkeyPath:@"number"options:NSKeyValueObservingOptionNewblock:^(id  _Nullableobserver,id  _Nonnullobject,NSDictionary *_Nonnullchange) {

        NSLog(@"-----%@",change);

    }];

4、代理

应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现。

通过delegate帮助实现协议方法

5、单例

单例设计模式确保对于一个给定的类全局只创建一次。它通常采用懒加载的方式在第一次用到实例的时候再去创建它。

应用场景:确保程序运行期某个类,只有一份实例,用于进行资源共享控制。

优点:无论调用多少次有且仅有一个对象,类似全局变量,在整个工程中都可以使用。

6、工厂

提供一个接口,用于创建与某些对象相关或依赖于某些对象的类家族,而又不需要指定它们的具体类。通过这种模式可以去除客户代码和来自工厂的具体对象细节之间的耦合关系。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 传统模式下的开发MVCMVVM基于面向协议MVP的介绍MVP实战开发说在前面:相信就算你是个iOS新手也应该听说过...
    行走的菜谱阅读 3,226评论 1 5
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,171评论 1 32
  • Design Pattern 设计模式是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。设计模式...
    卖萌的二师兄阅读 628评论 0 3
  • 转自http://casatwy.com/iosying-yong-jia-gou-tan-viewceng-de...
    严木木阅读 1,592评论 1 8
  • 周一开启新的生活 早上醒来已是六点十二分,太迟了!要耽误孩子的自习了!赶忙准备热粥,蒸小馒头,取出拌好的小菜,为了...
    平阳山人阅读 185评论 0 4