【发布时间】:2017-12-03 22:53:19
【问题描述】:
我们使用MVC作为我们的架构模式,并希望在项目的某些部分使用MVP或VIPER,pattern。在同一个项目中可以有多个架构模式吗?这是一个好习惯吗?
【问题讨论】:
标签: ios architectural-patterns
我们使用MVC作为我们的架构模式,并希望在项目的某些部分使用MVP或VIPER,pattern。在同一个项目中可以有多个架构模式吗?这是一个好习惯吗?
【问题讨论】:
标签: ios architectural-patterns
我的回答有点轶事,但我认为这还不错。随着新架构的出现,尤其是那些优于旧约定的架构,只有继续/尝试它们才有意义。现在的问题是你是否应该无限期地离开它,我会说不。当您有时间/愿意时,您绝对应该将其重构为新架构。那只是我的两分钱。
【讨论】:
很好的问题@Marlon。首先我想告诉你的是,这都是关于 VIPER 组件(例如 View、Controller、Interactor、Presenter、Routing)之间的职责分离。
更多的是在开发过程中随着时间的推移而发生的变化。有许多架构模式,例如 MVC、MVVP、MVVM 等。随着时间的推移,当我们的口味发生变化时,我们会从 MVC 变为 VIPER。有人从 MVVP 变为 VIPER。
通过保持班级人数较少的行数来使用您的声音视觉。您可以将数据源方法保留在 ViewController 本身中,或者创建一个符合 UITableViewDatasoruce 协议的自定义对象。
我的目标是让视图控制器保持苗条,并且每个方法和类都遵循单一职责原则。
Viper 有助于创建高度内聚和低耦合的软件。
在使用这种开发模式之前,应该对类之间的责任分配有一个很好的理解。
一旦您对 iOS 中的 Oops 和协议有了基本的了解。你会发现这个模型和 MVC 一样简单。
没问题,您可以开始为新模块使用新模式或重构现有模块。一个人必须从某个地方开始。
随着时间的推移和应用程序的发展,所有这一切都在延缓架构侵蚀。
【讨论】: