关于IOS自己常用的几种模式

首先,先向原著前辈致敬 IT伟哥
ios开发学习中,经常弄不清楚ios的开发模式,今天我们就来进行简单的总结和探讨~

(一)代理模式

  • 应用场景:

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

    • tableView的数据源delegate,通过和protocol的配合,完成委托诉求。
    • 列表row个数delegate
    • 自定义的delegate

(二)观察者模式

  • 应用场景:

    • 一般为model层对,controller和view进行的通知方式,不关心谁去接收,只负责发布信息。
  • 实例:

    • Notification通知中心,注册通知中心,任何位置可以发送消息,注册观察者的对象可以接收。KVO,键值对改变通知的观察者,平时基本没用过。

(三)MVC模式

  • 应用场景:

    • 是一中非常古老的设计模式,通过数据模型,控制器逻辑,视图展示将应用程序进行逻辑划分。
  • 实例:

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

(四)单例模式

  • 应用场景:

    • 确保程序运行期某个类,只有一份实例,用于进行资源共享控制。
  • 注意事项:

    • 确保使用者只能通过 get Instance方法才能获得,单例类的唯一实例。Java,C++中使其没有公有构造函数,私有化并覆盖其构造函数。Object-C中,重写allocWithZone方法,保证即使用户用 alloc方法直接创建单例类的实例,返回的也只是此单例类的唯一静态变量。

注释

  • protocol:IOS中的协议

推荐阅读更多精彩内容

  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 20,307评论 40 450
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 70,636评论 12 116
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 124,608评论 16 534
  • 今日走出门去 他决定殴打他的人生 把张狂的幻想和碎梦都浸在血泊里 在疼痛和惨笑中 他要找到自己的骨头
    黑嗯阅读 19评论 0 2