在 watch app swift 中应该使用哪种设计模式?
Posted
技术标签:
【中文标题】在 watch app swift 中应该使用哪种设计模式?【英文标题】:Which Design Pattern should be used in watch app swift? 【发布时间】:2020-09-01 21:12:53 【问题描述】:我通过互联网搜索了很多 文章,但我的问题甚至找不到一个答案,即究竟是哪种设计模式[MVC、MVP、MVVM、VIPER ] 我应该在手表操作系统应用中使用。
我有一个健身应用程序,它可以在 iPhone 和 Apple Watch 上跟踪跑步并显示卡路里、配速距离和所遵循的路径。我的 iPhone 应用程序管理得很好,因为我使用了 MVVM,但我不知道如何让我的代码更加模块化以防万一。 由于我的 WKInterfaceController 类非常繁重,而且以非结构化方式编写代码真的很痛苦。
请帮助我了解如何使我的代码更加标准和结构化。
提前致谢
【问题讨论】:
【参考方案1】:我认为你发现你的代码必须更好是件好事。当开发人员面临这个问题时,他们准备好了解更多关于架构和编写更好的代码和结构的知识。
我认为这不仅仅是一种特定的设计模式。这是关于架构和项目结构的。
在此之前,开发人员在项目中使用了三个独立的层来将表示、逻辑 (BLL) 和数据库 (DLL) 彼此分开,以获得更井井有条的结构。它只是帮助我们围绕数据库制作所有内容,但如今,开发人员一直鼓励将所有内容放在域(CORE)周围。域是您的业务元素,围绕您的业务的一切都是细节,例如第三方服务、数据库等。
此架构有一些特定的名称,例如onion、端口适配器、六边形等。所有这些结构都建议我们将您的所有域对象(例如域对象和其他对象)放在项目的中心,并且周围还有其他东西。
我更喜欢按照鲍勃叔叔的命名,即“Clean architecture”,他在他的书“Clean Code: A Handbook of Agile Software Craftsmanship”中对此进行了描述。
根据“Robert C.Martin”(鲍勃叔叔)的描述,你的架构必须是和尖叫的架构这意味着当你看到你的架构时,你架构中的所有东西都必须尖叫,任何事情都必须清楚。我强烈推荐阅读更多关于“清洁架构”的书。 Github 上也有许多实现干净架构的示例项目。
另一方面,您的所有依赖项都必须注入到您的层中,但遵循此规则,帮助您使用测试!测试和 TDD 模式对于开发和缓解项目错误非常重要。
此外,为了增加代码的可读性并保持代码整洁,编写“清洁代码”非常重要,并且它需要遵守 S.O.L.I.D 原则规则。为了实现这个目标,我强烈推荐阅读鲍勃叔叔的“清洁代码”。 Java 中有一个很好的简洁代码规则。
最后,我想说的是,了解更多关于 gang of 4 设计模式的信息非常重要。它帮助我们用漂亮的知名解决方案解决代码中的常见问题。更多信息,您可以查看here。
您可以搜索更多内容并找到更好的内容。使用新的代码风格取得成功;)
【讨论】:
目前我使用 MVVM 和 VIPER for ios 应用程序,但由于手表功能有限,我找不到任何手表,这就是问题所在。如果您曾经开发过任何手表应用程序,您就会明白由于手表开发中的功能有限,代码变得多么繁重。所以我的简单问题是我应该使用哪种设计模式,我很清楚设计模式及其优势。所以,如果你在手表应用上做过一些工作,请告诉我你关注了哪个。以上是关于在 watch app swift 中应该使用哪种设计模式?的主要内容,如果未能解决你的问题,请参考以下文章
当 iPhone 不在附近时,使用 Swift 将数据从 Apple Watch 发送到 iPhone
用h5开发的app想接入支付宝,应该去支付宝开放平台申请哪种支付方式?app支付还是手机网站支付?
iOS Swift,如何区分使用 Apple Watch 和 iPhone 的步骤?
如何使用 Swift 在 Apple Watch 上添加下拉刷新功能