使用 AppDelegate 进行数据操作和处理是一个好习惯吗?

2023-12-27

我正在制作一个对象AppDelegate并在我的程序中使用它,我已经声明了所有的setter和getter,并且还在其中插入、选择、删除、更新数据库的查询。

我想问这样做是一个好的做法吗? 如果是,那么如何,如果不是,那么为什么这不是一个好的做法?

我希望我的问题很清楚,如果您有任何问题,请提出相关问题。


将 AppDelegate 变成包含一百万个方法和属性的“大泥球”并不是一个好策略(尽管这可能很诱人)。

更好、更面向对象的方法可以将部分功能划分为精心设计的对象——例如,您可能有一个处理所有数据库交互的 DatabaseManager 类。然后,您的应用程序的某些部分可能需要 DatabaseManager 向应用程序委托实例询问对 DatabaseManager 的引用。

或者,您可以将对 DatabaseManager 的引用传递给应用程序中需要它的部分。然而,最后一种方法确实会导致更多的“接口污染”,您必须在很多地方修改接口才能传入 DatabaseManager。

另一种选择是有效地使 DatabaseManager 本身成为“单例”——通过类上的类方法访问它的实例。以这种方式工作的单例经常会受到不悦,并且通常有充分的理由(使测试变得更加困难,诸如此类)。我倾向于避免让对象将其“单例”性质直接融入到对象中——如果我需要这类东西,我更喜欢有一个已知的访问点(如果你喜欢的话,可以是一种“工厂”)可以去获取共享实例。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 AppDelegate 进行数据操作和处理是一个好习惯吗? 的相关文章

随机推荐