最近,我学习了Swift以及开发iOS应用程序的基础知识.现在,我想自己开发一个真正的应用程序,但我非常关心编写好的代码,所以我一直在寻找"最佳实践","设计模式"和"正确的方法"来实现它.
在我的搜索中,我发现了这个关于Swift iOS应用程序中通常使用的所有设计模式的精彩教程以及它们在何处使用的示例.
但是我认为这个教程很棒并且对我帮助很大,我觉得这只是一个开始,因为我看到很多SOLID原则违规.例如:
请参阅LibraryAPI中实现的外观模式:
class LibraryAPI: NSObject {
private let persistencyManager: PersistencyManager
private let httpClient: HTTPClient
private let isOnline: Bool
class var sharedInstance: LibraryAPI {
struct Singleton {
static let instance = LibraryAPI()
}
return Singleton.instance
}
override init() {
persistencyManager = PersistencyManager()
httpClient = HTTPClient()
isOnline = false
super.init()
NSNotificationCenter.defaultCenter().addObserver(self, selector:"downloadImage:", name: "BLDownloadImageNotification", object: nil)
}
deinit {
NSNotificationCenter.defaultCenter().removeObserver(self)
}
func getAlbums() -> [Album] {
// ... Not relevant
}
func addAlbum(album: Album, index: Int) { …Run Code Online (Sandbox Code Playgroud)