Cha*_*har 4 iphone singleton uiapplicationdelegate
我正在AppDelegate整个程序中创建一个对象并使用它,我已经声明了所有的setter和getter,并且还插入,选择,删除,更新了数据库中的查询.
我想问一下这是一个好习惯,如果是的话,那么如何,如果不是,为什么它不是一个好的做法?
我希望我的问题很清楚,如果你有任何问题,请询问相关问题.
将你的AppDelegate变成一个包含一百万种方法和属性的"泥球"(虽然它可能很诱人)并不是一个好策略.
一种更好的,更面向对象的方法,可以将功能分成精心设计的对象 - 例如,您可能有一个类DatabaseManager来处理所有数据库交互.然后,您可能需要应用程序的一些部分需要DatabaseManager向应用程序委托实例请求对DatabaseManager的引用.
或者,您可以将对DatabaseManager的引用传递给需要它的应用程序部分.然而,最后一种方法会导致更多的"界面污染",您必须在许多地方修改接口才能传入DatabaseManager.
而另一个替代方案是有效地使您的DatabaseManager本身成为"单例" - 通过类上的类方法访问它的实例.以这种方式工作的单身人士往往不满意,并且通常有充分的理由(使测试变得更难,那种事情).我倾向于避免让对象将"单身"性质烘焙到对象中 - 如果我需要那种东西,我更愿意拥有一个已知的访问点(如果你喜欢的话,那种'工厂')你在哪里可以去获取共享实例.
| 归档时间: |
|
| 查看次数: |
1659 次 |
| 最近记录: |