注册树模式与appdelegate的应用

使用注册树设计模式,拓展了didFinishLaunchingWithOptions方法,具体实现如下:

1)生成一份接口协议(ONEAppDelegateStoreDelegate),用于和原生协议对接

2)遵守接口协议的对象通过bind方法,向ONEAppDelegateStore注册

使用时,当appdelegate协议方法触发,回调对应ONEAppDelegateStore的方法,ONEAppDelegateStore对应方法则遍历注册对象,询问是否实现该方法,如果实现,则调用注册对象中的方法。

一些缺陷: ONEAppDelegateStoreDelegate的方法和ONEAppDelegateStore方法相同,重复。
整个调用过程,需要在触发了appdelegate的方法后,再调用ONEAppDelegateStore的方 法,显得比较冗余。

不过ONEAppDelegateStoreDelegate是可扩展的接口,他包含了appdelegate中需要使用的方法

优点&缺点:下发了事件处理的时机,允许组件,在自己内部处理系统时机(前后台等),好的方面看,解放了appdelegate事件处理方法,不需要所有组件通过通知的方法或在appdelegate内部添加代码的方法处理事件;不好的地方,代码散落,不易维护,同时每当接收到appdelegate方法后,都需要遍历全部注册对象,查看是否实现该方法;本质上和通知方法没有区别,一个是在系统提供的组件进行注册,一个是自己提供的组件进行注册。

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

相关阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 14,028评论 6 13
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,272评论 18 399
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,279评论 25 709
  • 文字/素言淡漠 其实 我一点不喜欢这个秋天 不绝的雨水 没曾想过要间断 一抹阳光斜照 竟成了最奢望的渴盼 饮用水的...
    素言淡漠阅读 1,693评论 0 5
  • 文/骑马上岸的人 一 我要挣脱海洋 我要成为干旱的种子 我要唱罪恶的诗句 风会在我的嘴唇边停留 亲吻我的日子。 二...
    骑马上岸的人阅读 2,773评论 13 15

友情链接更多精彩内容