global or shard

2018-11-10  本文已影响11人  Z_JaDe

一个移动app,数据基本上都是以界面为生命周期,界面创建加载数据,界面结束数据销毁。

但是总有一些数据,他们可以出现在任何界面,比如登录状态,个人信息,信息验证等等。以前不知道什么时候起,总喜欢用shared的方式来管理,每多一种状态就多了一种Manager。CacheManager,LoginManager,UserInfo。各种单例,各种静态方法,静态属性。

但是最近不知道怎么回事,可能是看的东西多了,我突然发现之前是不是有点傻,为什么不搞一个全局变量持有这个对象,非要搞一堆单例。

为了更加贴切,我还起了一个新的名字Scheduler,不知道我这个Scheduler和其他地方出现的那个Scheduler是不是同一个东西。不过我这个Scheduler 就是为了给以前四处安放的单例一个好去处。

我的全局有一个AppScheduler对象,AppScheduler对象里面存储了一些单独的功能模块,

AppScheduler.swift AppScheduler.swift

这样弄完之后瞬间感觉舒服多了,我的项目中有哪些功能模块,一目了然。类似于SDK,分享,很多东西都可以归类到这里。

虽然这样改跟之前的shared写法一样还是全局的,但是从结构上来说,更加清晰了,之前的太松散。

上一篇下一篇

猜你喜欢

热点阅读