Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 手表应用程序swift应使用哪种设计模式?_Xcode_Design Patterns_Watchkit_Apple Watch_Watchos - Fatal编程技术网

Xcode 手表应用程序swift应使用哪种设计模式?

Xcode 手表应用程序swift应使用哪种设计模式?,xcode,design-patterns,watchkit,apple-watch,watchos,Xcode,Design Patterns,Watchkit,Apple Watch,Watchos,我在互联网上搜索了很多,读了很多文章,但我的问题甚至找不到一个答案,那就是我应该在我的watch OS应用程序中使用哪种设计模式[MVC、MVP、MVVM、VIPER] 我有一个健身应用程序,它可以跟踪跑步,并显示iPhone和Apple watch跑步时的卡路里、配速距离和路径。我的iPhone应用程序管理得很好,因为我使用了MVVM,但我不知道如何使我的代码更模块化,以防出现手表。 因为我的WKInterfaceController类非常繁重,以非结构化的方式编写代码非常痛苦 请帮助我理解如

我在互联网上搜索了很多,读了很多文章,但我的问题甚至找不到一个答案,那就是我应该在我的watch OS应用程序中使用哪种设计模式[MVC、MVP、MVVM、VIPER]

我有一个健身应用程序,它可以跟踪跑步,并显示iPhone和Apple watch跑步时的卡路里、配速距离和路径。我的iPhone应用程序管理得很好,因为我使用了MVVM,但我不知道如何使我的代码更模块化,以防出现手表。 因为我的WKInterfaceController类非常繁重,以非结构化的方式编写代码非常痛苦

请帮助我理解如何使我的代码更加标准和结构化


提前感谢

我认为这对您很好,因为您发现您的代码必须更好。当开发人员面对这个问题时,他们已经准备好了解更多关于体系结构的知识,并编写更好的代码和结构

我认为这不仅仅是一个特定的设计模式。这是关于架构和项目结构的

在此之前,开发人员在项目中使用了三个独立的层,将表示、逻辑(BLL)和数据库(DLL)彼此分离,以获得一个更为有序的结构。它只是帮助我们围绕数据库制作一切,但如今,开发人员一直鼓励我们围绕域(核心)制作一切。域是您的业务元素,业务周围的一切都是细节,例如第三方服务、数据库等

该体系结构有一些特定的名称,如端口适配器、六边形等。所有这些结构都建议我们将您的所有域对象(如域对象)和其他对象放在项目的中心,其他任何内容都在该中心

我更喜欢跟随鲍勃叔叔的名字,他在他的书中描述了这个名字

根据“”(Bob叔叔)的描述,您的架构必须是尖叫式架构,这意味着当您看到您的架构时,架构中的所有内容都必须尖叫,并且任何内容都必须清晰。我强烈建议你多读一些关于“清洁建筑”的书。Github上还有许多实现clean体系结构的示例项目

另一方面,必须将所有依赖项注入到层中,但遵循此规则,可以帮助您使用测试!测试和TDD模式对于开发和缓解项目缺陷非常重要

此外,为了提高代码的可读性并保持其干净,编写“干净的代码”非常重要,而且还需要遵守s.O.L.I.D原则规则。为了实现这个目标,我强烈建议阅读Bob叔叔的“干净代码”。中有一个很好的干净代码规则简介

最后,我想说的是,了解更多关于四人帮设计模式的知识非常重要。它帮助我们用漂亮的众所周知的解决方案解决代码中的常见问题。有关更多信息,请参见


你可以搜索更多,找到更好的东西。使用新的代码样式获得成功;)

目前我使用的是MVVM和VIPER for iOS应用程序,但由于手表功能有限,我找不到手表的任何功能,这就是问题所在。如果你曾经开发过任何一款手表应用程序,你就会明白,由于手表开发中的功能有限,代码会变得多么繁重。所以我的简单问题是,我应该使用哪种设计模式,我很清楚设计模式及其优势。所以,若你们在watch应用程序上做了一些工作,请告诉我你们遵循了哪个。