• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Swift中的Facade设计模式与代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

正如您可以想象的那样,在创建Swift应用程序时,代码可重用性是我们的首要任务之一。为了尽可能多地重用代码,我们通过利用与Swift兼容的各种设计模式,尽可能地集中模块化代码库。在这个Swift教程中,我们将看一下Facade Design Pattern。让我们理解它是什么,它采用什么样的架构方法,让我们看一下在Swift中实现它的代码片段。


Facade模式(也拼写为façade)是面向对象编程中常用的软件设计模式。类似于架构中的外观,外观是一个对象,用作面向更复杂的底层或结构代码的前向界面。您可以在维基百科上阅读官方通用Facade定义

让我们考虑一个具体的例子,对所有iOS开发者来说都很熟悉。在开发移动应用程序时,几乎每次我们使用URL通信从远程服务器加载/存储资源。在我们的示例中,最常见的方案是Firebase实例或WooCommerce / WordPress后端。

如果您曾创建过一个简单的APIClient / APIManager类,那么您已经使用了Facade Design Pattern。创建一个封装网络的简单APIClient / APIManager对象,确实是Alamofire或URLSession功能的外观。通过这种方式,您可以创建一个Facade,它具有简单而方便的API,可用于相当复杂的URL请求相关逻辑。

门面设计模式示例

如果您曾经使用过KeyChain,那么您就知道Apple的API非常繁琐。事实上,几乎没有人使用这些API。我们所知道的大多数iOS开发人员通常使用第三方开源Swift项目来包装KeyChain的逻辑,隐藏所有这些可怕的接口这些Swift库本身就是外观。

对于一个简单的外观示例,让我们为Keychain中的存储值构建一个简单的外观对象:

class KeychainFacade {
    
    func save(value:String,forKey key:String)throws {
        //保存到Keychain逻辑
    }
    
    func readValue(forKey key:String) - > throws String {
        //从Keychain逻辑中读取值
    }
}

正如您所看到的,我们还没有添加实现,因为这篇文章与Keychain无关,但您应该明白这一点。

结论

立面设计模式在业界广泛传播,很有可能你已经习惯了,没有意识到这一点。它用于隐藏实现细节和抽象接口,以便消费者可以处理较低级别的细节。虽然它增加了额外的抽象层,但外观设计模式显着提高了代码的可读性和体系结构。

如果你喜欢这篇文章,请考虑分享它以帮助我们传播这个词。快乐的编码!

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
ReactiveCocoa与swift发布时间:2022-07-13
下一篇:
Swift开发之泛型实例发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap