我在我构建的Swift 3项目中使用单例。 作为项目的一部分,我有注册和登录视图控制器,我想我可能希望在未来的项目中注册/登录。因此,对于代码重用,我考虑在单独的.swfit类中使用注册和登录函数,然后我将在单例中实例化这些类。
或者只是在单独的文件中将注册/登录功能作为静态功能。
我只是不确定这是否打破了单身人士的想法,并且所有注册/登录功能都应该在单身人士中。
我的大学学位研究中的设计模式的实际例子,数据结构等教师以及许多其他编码主题有点困难,但不是很多关于设计模式以及如何编写更好的结构化代码。
答案 0 :(得分:2)
为了更好地学习设计模式,我建议阅读有趣且轻松Head First Design Patterns
关于你在Swift代码中关于Singleton模式的问题总是最好通过一个例子来学习:
final class AccountUtility {
//here is object instantiation to meet the Singleton Design Pattern single instance requirement
static let shared = AccountUtility()
//a private constructor ensures no one can create an instance of this class
private init() {
}
func login() {
}
func register() {
}
}
使用此Singleton Swift类:
AccountUtility.shared.login()
答案 1 :(得分:2)
通常,您应该将视图控制器视为而不是可重用,因为它们介于此特定数据与此特定接口(模型视图)之间。
但是,如果您可以将此特定功能隔离到一个独立的对象中,那将使其可重用。我通常做的是创建一个自定义结构并让视图控制器将其作为辅助对象。我不太清楚将结构声明放在一个单独的文件中,因为它很容易复制和粘贴,但如果你愿意,你当然可以这样做。
(我也看不出任何与Singleton有什么关系。)