跳至页脚内容
Iron Academy Logo
C# 应用程序
C# 应用程序

其他类别

应用逻辑规划——深入了解Tim Corey的方法

Tim Corey
17m 14s

在他的 C# 应用程序从开始到完成系列中,Tim Corey 解释说,构建应用程序不仅仅是编写代码。 真正的挑战在于规划应用程序的逻辑——应用程序的不同部分将如何交互、沟通和在屏幕以及组件间移动数据。 在第5课 - 逻辑规划中,Tim 专注于逻辑规划,强调这是您决定应用程序整体行为的阶段。

他提醒我们,到目前为止,课程已经涵盖了范围界定需求、构建整体结构、设计数据后端和绘制前端。 现在,Tim 说,下一步是通过逻辑连接所有内容。

Tim 澄清说,这节课还不会进入代码。 相反,他希望覆盖全球的想法、整体的大局,以及应用程序背后的整体逻辑。 他鼓励在纸上写下笔记并画出箭头,绘制出每个表单和按钮应如何表现,这类似于在专业开发环境中绘制业务流程的方式。 这种规划在进入编码之前帮助应用程序逻辑变得清晰。

为什么逻辑规划很重要

Tim 首先说明,连接表单是应用程序逻辑的主要部分。 一旦表单正确连接,剩下的任务通常较小。 他解释说,逻辑规划过程帮助您理解应用程序必须支持的功能、流程和控件。

Tim 说,如果他在纸上进行这项工作,他会写下每个组件应该做什么并在它们之间画箭头。 尽管课程是在屏幕上进行的,他计划走过每个表单并解释每个部分背后的逻辑。

创建锦标赛表单逻辑

Tim 从创建锦标赛表单开始,这是简单的表单之一。 他解释了每个按钮背后的逻辑以及它们应如何协同工作。

创建新团队按钮

Tim 解释说,创建新团队按钮会打开创建团队表单。 在团队创建后,新表单关闭,并将创建的团队数据返回到创建锦标赛表单。 团队应出现在团队/球员列表框中,这是通过创建一个可以从创建团队表单调用的方法来实现的。

Tim还介绍了使用接口进行此类通信的概念,解释了接口允许表单在不直接相互了解的情况下进行交互。 这是一个经典的示例,展示了业务逻辑和软件架构如何协同工作,以维持组件间的质量、完整性和清晰的交互。

添加团队按钮

Tim解释说,添加团队按钮很简单。 它检查哪个项目在下拉列表中被选中,将该团队添加到锦标赛列表中,从下拉列表中移除它,然后刷新两个列表。 此逻辑确保用户的选择正确反映在UI和基础数据中。

创建奖品按钮

Tim解释说,创建奖品按钮的行为类似于创建新团队按钮。 它打开创建奖品表单,等待奖品被创建,然后将该奖品添加到奖品列表框中。 逻辑是相同的,但类和数据类型是不同的。

删除所选按钮

Tim解释说,删除按钮将移除列表框中的所选项目。 在团队的情况下,逻辑还将删除的团队返回到下拉列表中,确保用户以后可以再次添加。 这种实时更新的类型改善了用户体验,并有助于在UI中保持正确的数据。

创建锦标赛按钮

Tim解释说,这是一个大按钮,因为它触发了最多的逻辑。 点击时,它必须验证所有信息:

  • 锦标赛名称不能为空

  • 参赛费用不能为负数

  • 至少需要有两个团队存在

验证后,Tim解释了下一个主要步骤:创建赛程。 锦标赛赛程逻辑确定锦标赛中应有多少团队以及需要多少轮空。 Tim引用了他在伴随文件中书写的计算公式。 例如,如果锦标赛有10个团队,锦标赛必须从16个团队开始,这意味着第一轮需要6个轮空。

Tim还指出,逻辑需要随机化第一轮的顺序。 一旦一切完成,表单就完成,应用程序可以继续前进。

创建团队表单逻辑

Tim继续讲解创建团队表单,并解释其按钮背后的逻辑。

添加成员按钮

Tim说这个按钮将现有成员从下拉列表中添加到团队列表框中。 然后从下拉列表中移除该成员并刷新两个列表。 Tim强调这一逻辑与添加团队按钮类似。

创建成员按钮

Tim解释说,创建成员按钮接受四个输入字段,创建一个新的团队成员,将他们添加到列表框中,并清除这些字段。 这是应用程序逻辑中常见任务的典型示例,其中用户输入必须被处理并反映在UI中。

创建团队按钮

Tim说创建团队按钮必须验证团队,然后将创建的团队发送回调用者。 他指出,表单缺少删除球员按钮,应该添加以匹配其他表单并提供一致的用户体验。 Tim解释说,一致的UI行为对用户的熟悉和舒适感很重要。

创建奖品表单逻辑

Tim描述创建奖品表单较为简单。 它有四个文本框和一个按钮。

当点击创建奖品按钮时,它会:

  • 验证奖品信息

  • 将数据返回给调用表单

  • 关闭表单

Tim解释说,此表单实质上与创建团队相同,但组件更少。

锦标赛仪表盘逻辑

Tim解释说锦标赛仪表盘表单很简单,但却是必要的。

它列出现有的锦标赛。 加载锦标赛按钮打开所选锦标赛的锦标赛查看表,创建锦标赛按钮打开创建锦标赛表单。

Tim指出,当锦标赛创建时,应该将其添加到下拉列表中,使用户能够立即加载它。 此逻辑是应用程序内数据访问和实时更新的基本示例。

锦标赛查看器逻辑

Tim描述了锦标赛查看器是最复杂的表单,因为它包含最多的逻辑。

锦标赛名称

Tim解释说,当表单加载时,锦标赛名称会更新。 表单接收一个锦标赛对象并显示其名称。

回合下拉列表

Tim解释说,这个下拉列表是计算得出的,而不是从数据库加载的。 它查看回合列表并确定有多少回合存在。如果锦标赛有四个回合,下拉列表必须显示第1回合到第4回合。

仅显示未完成的复选框

Tim说,如果复选框被勾选(默认),比赛排列列表框将过滤只显示未比赛的游戏。 如果未勾选,则显示所有比赛。

比赛结果部分

Tim解释说,选择比赛会更新右侧部分的团队名称和比分。 比分按钮允许用户更新比分并结束比赛。

触发下一个回合

Tim解释说,当一轮中最后一个未比赛的比赛被计分时,下一轮应该开始。 如果是最终冠军赛,锦标赛结束并授予奖品。 Tim还提到,系统在安排比赛和结果可用时会发送电子邮件给参与者。

比分编辑规则

Tim询问比分在设置后是否可以更新。 他得出的结论是可以的,但仅限于当前回合仍在进行中。如果在下一回合开始后更改比分,可能会导致重大问题,因为团队可能会比赛错误的对手。

因此,Tim表示比分按钮需要逻辑以确保比分只能在当前回合中更改。

接下来是什么?

Tim承认仍需计划一些逻辑,比如:

  • 数据访问和存储

  • 处理不同的数据源

  • 电子邮件逻辑

  • 触发比赛

他说这些在代码中更好地计划,因此团队将在开始编码时处理它们。 这是软件开发中业务完整性的一个例子——不是过度计划,而是在实施过程中构建和调整。

结论:编码前计划

Tim在视频中总结说道,规划阶段已经完成:

  • 数据设计已经完成

  • 已绘制UI布局

  • 各个表单背后的逻辑已规划

下一步是将其转化为代码。 在下一课中,Tim将创建类库并开始将数据设计实施到实际应用中。

Hero Worlddot related to 应用逻辑规划——深入了解Tim Corey的方法
Hero Affiliate related to 应用逻辑规划——深入了解Tim Corey的方法

分享您的所爱,赚取更多收入

您为使用 .NET、C#、Java、Python 或 Node.js 的开发人员创建内容吗?将您的专业知识转化为额外收入!

钢铁支援团队

我们每周 5 天,每天 24 小时在线。
聊天
电子邮件
打电话给我