当前位置: 首页 > 知识库问答 >
问题:

关于Viper-Clean体系结构的问题

楚硕
2023-03-14

然后,我遇到了这篇文章/帖子旅使用MVC替代方案的经验,它描述了我目前正在做的事情。

在实际尝试在一个新的iOS项目上实现VIPER之后,我遇到了一些问题:

  • 演示者可以在视图中查询信息吗?还是“信息传递”应该总是从视图开始?例如,如果视图触发了演示者中的某个操作,但根据通过该操作传递的参数,演示者可能需要更多信息。我的意思是:用户点击“donewithstate:”,如果state==“something”,从视图中获取信息以创建实体,如果state==“somether”,在视图中创建动画。如何处理此类场景?
  • 假设一个“模块”(一组VIPER组件)决定以模式呈现另一个模块。谁应该负责决定第二个模块将以模式呈现,第一个模块的线框还是第二个模块的线框?
  • 还有,假设第二个模块的视图被推到导航控制器中,“返回”操作应该如何处理?我是否应该手动设置一个“后退”按钮,在第二个模块的视图控制器中使用一个动作来调用演示者,调用第二个模块的线框,并告诉第一个模块的线框它被取消,以便第一个模块的视图控制器可能想要显示一些东西?
  • 不同的模块应该只通过线框还是通过演示者之间的委托进行对话?例如,如果应用程序导航到不同的模块,但之后用户按了“取消”或“保存”,该选择需要返回并更改第一个模块中的某些内容(可能显示它保存的动画或删除某些内容)。
  • 假设在地图上选择了一个pin,则显示PinEditViewController。返回时,根据PineditViewController上的使用操作,所选PIN的颜色可能需要更改。谁应该保留当前选定的pin的状态,是MapViewController、MapPresenter还是MapWireframe,以便我在返回时知道哪个pin应该改变颜色?

共有1个答案

燕正德
2023-03-14

这个答案可能有点不相关,但我把它放在这里供参考。网站Clean Swift是Bob叔叔的“Clean架构”在Swift中的出色实现。所有者称之为VIP(它仍然包含“实体”和路由器/线框)。

该站点为您提供XCode模板。假设你想创建一个新场景(他把毒蛇模块称为“场景”),你所做的就是file->new->scenetemplate。

该模板创建了一批7个文件,其中包含项目中所有令人头疼的样板代码。它还对它们进行配置,以便它们开箱即用。该网站给出了一个相当彻底的解释,说明每一件事是如何结合在一起的。

 类似资料:
  • Ceph 独一无二地用统一的系统提供了对象、块、和文件存储功能,它可靠性高、管理简便、并且是自由软件。 Ceph 的强大足以改变贵公司的 IT 基础架构、和管理海量数据的能力。Ceph 可提供极大的伸缩性——供成千用户访问 PB 乃至 EB 级的数据。 Ceph 节点以普通硬件和智能守护进程作为支撑点, Ceph 存储集群组织起了大量节点,它们之间靠相互通讯来复制数据、并动态地重分布数据。 Cep

  • 本文向大家介绍hdfs的体系结构相关面试题,主要包含被问及hdfs的体系结构时的应答技巧和注意事项,需要的朋友参考一下 解答: hdfs有namenode、secondraynamenode、datanode组成。 为n+1模式 namenode负责管理datanode和记录元数据 secondraynamenode负责合并日志 datanode负责存储数据

  • 冯·诺依曼体系结构 计算机处理的数据和指令一律用二进制数表示 顺序执行程序 计算机运行过程中,把要执行的程序和处理的数据首先存入主存储器(内存),计算机执行程序时,将自动地并按顺序从主存储器中取出指令一条一条地执行,这一概念称作顺序执行程序。 计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成。 数据的机内表示 二进制表示 机器数 由于计算机中符号和数字一样,都必须用二进制数串来表

  • 主要内容:1. Data Access/Integration(数据访问/集成),2. Web 模块,3. Core Container(Spring 的核心容器),4. AOP、Aspects、Instrumentation 和 Messaging,5. Test 模块Spring 框架基本涵盖了企业级应用开发的各个方面,它包含了 20 多个不同的模块。 图1:Spring架构图 上图中包含了 Spring 框架的所有模块,这些模块可以满足一切企业级应用开发的需求,在开发过程中可以根据需求有选

  • 主要内容:请求的生命周期:由高层次,Struts2是一个上拉型MVC(MVC2)框架。在Struts2的模型 - 视图 - 控制器模式,实现以下五个核心部件: Actions Interceptors Value Stack / OGNL Results / Result types View technologies Struts 2 从传统的MVC框架操作需要的模型,而不是在控制器角色略有不同,虽然有一些重叠。 上面的

  • 主要内容:1 server.xmlTomcat的体系结构由一系列功能组件组成。 这些功能组件在每个Tomcat服务器安装目录中定义,具体来说放在Tomcat的安装文件夹的/conf子目录下,有个命名为的文件。下面我们来详细讨论这些组件的作用。 1 server.xml 默认情况下,server.xml文件有以下配置,我们将详细研究里面的元素。 让我们从内到外讨论server.xml文件的功能组件。 1.1 Context(上下文)