iOS开发架构
文章平均质量分 92
cubiclqb
这个作者很懒,什么都没留下…
展开
-
如何在Swift中使用Result
Result介绍Swift标准库的Result类型使我们能够使用单个统一类型来表达给定操作的结果(无论成功还是失败)。让我们看一下在哪种情况下Result可能有用的方法,以及一些在开始使用该类型时要牢记的技巧和窍门。尽管有很多不同的方法可以对Result类型进行建模,但是Swift标准库中内置的方法被声明为通用枚举,它针对结果可能包含的成功值以及遇到的任何错误进行了强类型化。看起来像这样:enum Result<Success, Failure> where Failure: Error原创 2020-09-08 15:08:29 · 1703 阅读 · 0 评论 -
为什么模型对象不应该实现Swift的Decodable或Encodable协议
到目前为止,您可能在想:“他在说什么?Decodable和Encodable协议非常有用!”我也同意你的看法。在Decodable和Encodable协议确实很有用。例如,Swift提供了一种本地方法来解析JSON元素或从 User Defaults 存储和检索对象,这是很棒的。没有什么问题。但是,我认为我们在模型对象中使用这些协议会犯错。我将尝试解释原因。领域(Domain)模型和数据(Data)模型领域模型 是一种面向对象的模型,该模型合并了行为和数据。它代表了我们试图建模的业务规则。数据模原创 2020-09-02 18:35:34 · 924 阅读 · 0 评论 -
使用Alamofire中的Adapter和Retrier进行身份验证
Alamofire是可用于iOS和Mac项目的流行框架。它使网络实施变得容易,并允许我们使用RequestAdapter进行身份验证来对请求签名。对身份验证请求签名API通常要求您使用结合Authorization请求头的JSON Web令牌来签名请求。每个外发请求都需要设置该身份验证请求头才能被后端接受。Alamofire中的RequestAdapterAlamofire带有两个协议,RequestAdapter和和RequestRetrier。RequestAdapter:可以在必要时以某原创 2020-08-12 16:25:45 · 650 阅读 · 0 评论 -
iOS中的流程协调器(Flow Coordinators)
作为开发人员,我们一直在寻找,学习和尝试不同的软件开发方法。我一直在寻找方法来更好地管理APP的复杂性并编写更具表现力和可维护性的代码。最近,我发现了几篇文章讨论了一种企业设计模式,该模式已开始在iOS开发中应用。这种企业模式称为 ::应用程序控制器模式(Application Controller pattern)。::我首先在Soroush Khanlou的博客文章 8模式帮助您销毁大量视图控制器 中遇到了这个概念,他提到了一种称为Navigator的设计方法。该设计概念将视图控制器的表示封装到一个原创 2020-08-07 17:42:29 · 724 阅读 · 0 评论 -
iOS中的模块化架构(Modular Architecture)
模块化体系结构是软件工程中非常流行的主题。随着整体应用程序的增长,它变得越来越难维护,因此需要将其拆分为单独的模块。在后端是 微服务 ,在Web上是 微前端 。在本文中,我们展示了它如何在 iOS中工作 。在 上一篇文章中 ,我们了解了如何使用 Clean Architecture + MVVM 创建应用程序。在这里,我们展示了如何通过将应用程序 分离 到 隔离的 模块 (例如 NetworkingService,TrackingService,ChatFeature,PaymentsFeature …原创 2020-07-29 17:04:05 · 1041 阅读 · 0 评论 -
iOS上的干净架构(Clean Architecture)和MVVM
iOS上的Clean Architecture和MVVM当我们开发软件时,不仅要使用设计模式,还要使用体系结构模式,这一点很重要。软件工程中有许多不同的架构模式。在移动软件工程中,使用最广泛的是MVVM,Clean Architecture和Redux模式。我们将在 工作示例项目中 看到如何在iOS中应用两种架构模式MVVM和Clean Architecture。如果您有兴趣学习Redux,请阅读这本很棒的书: Advanced iOS App Architecture 。更多信息关于 Clean A原创 2020-07-22 17:46:45 · 2608 阅读 · 2 评论 -
使用模块化扩展iOS应用
介绍在本博客文章中,我们希望分享过去几年在扩展Depop iOS应用程序开发方面所面临的挑战,无论是在并行开发的功能数量方面,还是在促成Depop iOS应用程序数量方面代码库。我们将解释在这种情况下将大型和旧代码库 模块化 为小型,独立且可测试的组件的关键。在此过程中,我们还将分享我们采用的一些解决方案,以解决 依赖关系管理 并在持续交付设置中优化 构建性能 。总览这是我们应用程序代码库在其初始形状时的样子。Pods是CocoaPods项目,其中包含整个应用程序依赖项。在我们开始的时候,这很原创 2020-07-17 11:59:58 · 257 阅读 · 0 评论