Discuz! Board

 找回密碼
 立即註冊
搜索
熱搜: 活動 交友 discuz
查看: 3|回復: 0

多间接的好处使您的代码更易于测试

[複製鏈接]

1

主題

1

帖子

5

積分

新手上路

Rank: 1

積分
5
發表於 2023-12-25 18:53:05 | 顯示全部樓層 |閱讀模式
关注点分离  据我估计,关注点分离是整个软件架构中最普遍适用和最有用的概念并不是说其他​​概念应该被忽视。关注点分离  可以应用于我所知道的软件开发的每个角度,也可以完全忽略。为了简要总结这个概念,我们将讨论应用于类时的 ,但请注意, 可以通过广泛使用辅助函数来应用于函数,并且它可以外推到应用程序的整个模块在/ 的上下文。 如果您花费了大量时间研究应用程序的软件架构模式,您可能至少遇到过以下一种模式:模型-视图-控制器 、模型-视图-呈现器  或模型-视图-视图模型。在构建了各种风格的应用程序后,我会预先声明,我不认为它们中的任何一个是所有项目甚至单个项目中的功能的最佳选择。讽刺的是, 团队几年前提出的模式作为他们推荐的方法 ,在缺乏特定测试框架的情况下似乎是最难测试的假设您希望使用平台的类,我承认这。

是我的粉丝的。 无论如何,这些模式的具体细节并不重要,重要的是它们的普遍性。所有这些模式只是的不同风格,它们强调三种代码的基本分离,我将其称为:数据、用户界面、逻辑。 那么,分离数据、用户界面和逻辑究竟如何帮助您测试应用程序呢?答案是,通过将 Whatsapp 号码列表 逻辑从必须处理平台/框架依赖性的类中提取到具有很少或没有平台/框架依赖性的类中,测试变得容易并且框架最小化。需要明确的是,我通常谈论的是必须呈现用户界面、将数据存储在表中或连接到远程服务器的类。为了演示其工作原理,让我们看一下假设的应用程序的简化三层架构。 第一类将管理我们的用户界面。为了简单起见,我使用了来实现此目的,但我通常选择作为用户界面类。无论哪种情况,这两个类都与平台呈现类似的紧密耦合:  复制 正如您所看到的,有两个任务:首先,由于它是应用程序的给定功能的入口点,因此它充当。



该功能的其他组件的容器。简而言之,容器可以被认为是一种根类,其他组件最终通过引用或本例中的私有成员字段连接到该根类。它还会膨胀、绑定引用,并将侦听器添加到布局用户界面。 测试控制逻辑我们不是让拥有对后端具体类的引用,而是让它与类型的接口对话,我们将在下一节中讨论为什么这是一个接口。现在,只需了解该界面另一侧的任何内容都应该类似于或。由于此类将控制前端 和后端 之间的交互,因此我选择将其称为:  复制 这个类的设计方式有很多微妙之处,可以使其更容易测试。首先,它的所有引用要么来自标准库,要么来自应用程序内定义的接口。这意味着在没有任何框架的情况下测试此类绝对是轻而易举的事情,并且可以在上本地完成。另一个小但有用的技巧是,此类的所有不同交互都可以通过单个通用)函数调用。这提供了一个单一的入口点来测试此类的每个行为。 另请注意,在。

回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

Archiver|手機版|自動贊助|GameHost抗攻擊論壇

GMT+8, 2025-2-24 15:21 , Processed in 0.066922 second(s), 19 queries .

抗攻擊 by GameHost X3.4

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表
一粒米 | 中興米 | 論壇美工 | 設計 抗ddos | 天堂私服 | ddos | ddos | 防ddos | 防禦ddos | 防ddos主機 | 天堂美工 | 設計 防ddos主機 | 抗ddos主機 | 抗ddos | 抗ddos主機 | 抗攻擊論壇 | 天堂自動贊助 | 免費論壇 | 天堂私服 | 天堂123 | 台南清潔 | 天堂 | 天堂私服 | 免費論壇申請 | 抗ddos | 虛擬主機 | 實體主機 | vps | 網域註冊 | 抗攻擊遊戲主機 | ddos |