首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >iOS体系结构中的MVC单例类

iOS体系结构中的MVC单例类
EN

Stack Overflow用户
提问于 2016-05-25 17:28:54
回答 1查看 281关注 0票数 1

大多数iOS应用程序都是基于MVC设计模式的,我们在应用程序中使用单例类已经有很多年了。我知道Singleton本身是一种设计模式,许多人认为它是反模式的,以及关于Singleton的所有好的坏东西。

但是,如果您将MVC作为应用程序开发的整体架构,我想了解单例在其中的分类。它是模型、视图还是控制器?如果是这样,为什么?如果它不属于这三个中的任何一个,那么它是什么?

这看起来可能是一个愚蠢的问题,但它一直困扰着我,因为我在一家知名公司的面试中被问到了这个问题。

EN

回答 1

Stack Overflow用户

发布于 2016-05-25 17:38:33

MVC是一个架构模式,而Singleton是一个设计模式。这两件事是不相关的,因此Singleton在MVC中不是“任何东西”。

抛开任何关于使用单例的政治讨论,理论上你可以决定让任何模型、视图或控制器类成为单例。

正如gnasher所指出的,在iOS软件开发工具包中,ViewControllers是由运行时创建和销毁的,这意味着无论理论如何,在那个上下文中它们都是单例是不合逻辑的。

一种更可能的情况是,您希望您的模型可用于多个视图。您可能决定使该模型成为可通过依赖注入框架或构造器注入访问的Singleton。在这种情况下,您的类既是Model类,又是Singleton类。它们并不是相互排斥的。

我想知道这是不是你的面试官的意思--你最有可能想在iOS应用程序中使用单例?在这种情况下,正确的答案应该在模型中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37432973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档