多步算法的设计模式

2024-06-28

我正在编写一个控制台应用程序,该应用程序执行包含 N 个步骤的算法。这一步很重要N在步骤之前正确完成N+1被执行。否则程序应该停止工作并显示错误消息。

我可以用嵌套来做到这一点if当然和用途的陈述try-catch-finally(在finally中使用继续标志来决定程序是否应该处理)。但我正在寻找更好的结构化设计模式或方法来做到这一点。有什么建议吗?


The Pipeline设计模式正是这样的:以严格的步骤顺序执行复杂的过程。谷歌“管道设计模式”,你会发现大量的资源。

This http://msdn.microsoft.com/en-us/library/ff963548.aspx是 MSDN 上一篇面向编程的介绍性文章,并且this http://stevenatkinson.wordpress.com/2009/03/02/pipeline-design-pattern/是一个更具理论性的帖子。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多步算法的设计模式 的相关文章

  • 如何终止从cin读取?

    我已经尝试了这里列出的一堆方法 但没有一个起作用 它总是在等待更多的输入 我试过了while std getline std cin line 和下面的方法 似乎没有任何作用 include
  • WTL 子窗口事件处理

    我正在开发窗口应用程序 因为我在左侧和右侧有 2 个子窗口 我想分别处理两个窗口的输入事件 如何实现 My code class EditorWindow public DxWindow public CSplitterWindow m v
  • 使用 fork/execvp 和系统调用之间的区别

    使用 system 执行二进制文件与使用 fork execvp 组合执行二进制文件有什么区别 安全性 可移植性 性能方面是否存在差异 系统还使用了一个fork exec 组合 如果你这样做fork exec您自己可以与正在运行的进程并行执
  • 将 .net 上的 AWS 开发工具包与 localstack 结合使用(TransferUtility/S3 - 设置端点)

    我有本地堆栈 https github com localstack localstack https github com localstack localstack 正在运行 并且能够使用 aws s3 cli 将文件上传到其中 我想要
  • 如何使用鼠标指针和键盘快捷键捕获文本?

    我想使用 C 或 java 使用鼠标指针和键盘快捷键从打开的窗口捕获文本 喜欢babylon http babylon com 所以 我需要知道什么以及如何实施 我需要使用哪些库 或者我可以使用 winapi 吗 使用脚本语言创建您想要执行
  • 从 ASP.NET 插入到 MS Access

    我们正在尝试建立一个专门用于内联网的服务台票务系统 决定使用 Visual Studio 2008 Express 的 ASP NET C 如果需要的话 我们有一个完整版本 没什么花哨的 几页抓取 NTLM 信息 系统信息并将其与问题一起存
  • 执行 Mongo 查询 db.collection.runCommand("text",{"search":"search text"})

    我需要在我的网站中添加全文搜索选项 在 mongodb 中添加数据库 蒙戈查询 db collection runCommand text search search text 给出了结果 但是如何使用C 执行它 collection In
  • 可以取消链接以读写方式打开的文件

    在我的程序 在 Mac OS X 上 中 我使用以下代码打开该文件 int fd fd open filename O RDWR 删除文件的程序如下 unlink filename 就我而言 我有相同的文件被打开和删除 我观察到以下情况 打
  • 指示 GDB 6.5 使用目标文件中嵌入的源代码

    我一直在努力让GNU gdb 6 5 14在调试时使用嵌入在目标文件中的源代码 而不是扫描某些目录 主要原因是我是为嵌入式平台开发的 并且是交叉编译的 这意味着所有源代码都在我的电脑中 我读到了关于 ggdb3标志 其中包含许多额外信息 包
  • Boost的Dijkstra算法教程

    我很难弄清楚如何使用 Boost 的 Dijkstra 算法 我已经阅读了他们的示例和文档 但我仍然无法理解如何使用它 Boost的文档 http www boost org doc libs 1 50 0 libs graph doc d
  • 在所有 DataTable 列中查找字符串

    我正在尝试找到一种快速方法来在所有数据表列中查找字符串 跟随不起作用 因为我想在所有列值中搜索 string str whatever foreach DataRow row in dataTable Rows foreach DataCo
  • 无法从 GetSystemTime() 获取毫秒

    我正在尝试打印秒和毫秒分辨率计时 我正在使用GetSystemTime 这是我的代码 GetSystemTime datetime RETAILMSG 1 T Time After Data Sent to USB d d r n date
  • 实施黑名单的最有效方法

    我开发了一个 Ip 过滤器 并猜测我如何使用任何类型的 esque 数据结构开发一个非常高效且快速的黑名单过滤器 我想做的很简单 每个传入 传出连接我都必须检查被阻止的 IP 列表 IP是分散的 内存使用应该是线性的 不依赖于阻止列表的数量
  • 生成一定范围内的 N 个随机数,其总和为常数

    我想生成从 a b 之间的特定分布 例如均匀随机 抽取的 N 个随机数 其总和为常数 C 我尝试了一些我自己能想到的解决方案 以及在类似线程上提出的一些解决方案 但是他们中的大多数要么适用于有限形式的问题 要么我无法证明结果仍然遵循所需的分
  • 在 C# 中获取 Selenium RemoteWebDriver 的会话 ID

    我正在尝试获取在 SauceLabs 云上运行的测试的会话 ID 但我似乎无法访问它 我尝试过以下方法 Returns null var sessionId string RemoteWebDriver driver Capabilitie
  • 同一个盒子上的进程间通信 - 2 个应用程序或进程之间的通信

    在同一机器上的应用程序之间实现进程间通信的最佳方法是什么 两者都是用 C 编写的 管理器应用程序将向其他应用程序发送命令 例如 停止 启动 它还将监视应用程序并可能要求提供数据 所有应用程序都将在同一台运行 Windows 7 操作系统的计
  • 嵌入式控制台日志优化

    不久前我曾发过一篇文章this https stackoverflow com questions 25204389 how to get unique values at preprocessing across files关于SO的问题
  • C#:迭代数据表:Rows、Select() 或 AsEnumerable()

    foreach DataRow row in myDataTable Select foreach DataRow row in myDataTable AsEnumerable foreach DataRow row in myDataT
  • 为什么将静态类内初始化成员传递给采用 const 引用的函数需要该成员有定义?

    这是基于最初提出的问题here https stackoverflow com questions 14547370 confusion about in class initialization of static data member
  • 画笔和钢笔使用指南

    制作 GDI 画笔和钢笔有多贵 我应该在添加所需的基础上创建它们并将它们包装在 using 中以便快速处理它们 还是应该创建一个类似于 System Drawing Brushes 类的静态类 IMO 它们足够高效 您通常不应该创建在多个方

随机推荐

  • enableHiveSupport 在 java Spark 代码中引发错误[重复]

    这个问题在这里已经有答案了 我有一个非常简单的应用程序 尝试使用 Spark 从 src main resources 读取 orc 文件 我不断收到此错误 无法实例化具有 Hive 支持的 SparkSession 因为找不到 Hive
  • 通过绑定启用 TabItem

    我想在不同页面是 TabItem 的应用程序中使用 MVVM 为此 我使用视图模型 项目 的可观察集合并将其绑定到选项卡控件 ItemSource 对于每个视图模型 我创建了一个单独的数据模板来呈现正确的视图 如下所示
  • 如何用惰性传播实现线段树?

    我在互联网上搜索了有关线段树的实现的信息 但在惰性传播方面却一无所获 之前有一些关于堆栈溢出的问题 但它们专注于解决 SPOJ 的一些特定问题 虽然我认为这是用伪代码对线段树的最好解释 但我需要用惰性传播来实现它 我发现以下链接 除了上面的
  • 用于 GNU C++ 的 SSE SSE2 和 SSE3 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有一个简单的教程可以帮助我快速掌握 GNU C 中的 SSE SSE2 和 SSE3 如何在SSE中
  • 使用 Mathematica 在定义位置的左侧或右侧“StringCut”

    论读书这个问题 https stackoverflow com q 6052211 499167 我认为使用下面的问题会很简单StringSplit 给定以下字符串 我想将其 剪切 到每个 D 的左侧 以便 I get a List片段数
  • Google AppEngine Python 3.7 上的自定义库

    我正在尝试在 Google AppEngine Python 3 7 标准环境上部署一项服务 该环境需要一组库作为依赖项 无法部署依赖项之一 GDAL 2 2 2 并返回错误消息 File upload done Updating serv
  • 调用异步方法和 Task.Run 异步方法之间的区别

    我的视图模型中有一个方法 private async void SyncData SyncMessage syncMessage if syncMessage State SyncState SyncContacts this SyncCo
  • Django:如何从模型中验证 unique_together

    我有以下内容 class AccountAdmin models Model account models ForeignKey Account is master models BooleanField name models CharF
  • 如何从不同的进程关闭窗口

    我有一个 C 应用程序 我想指示它从不同的进程中很好地关闭 我还希望能够要求它打开主窗口 我有一个对其主窗口句柄的引用 我知道我可以使用远程处理或 WCF 等复杂的方案来做到这一点 问题是我可以使用更简单的机制 例如窗口消息 或 c 应用程
  • .htaccess RewriteRule 中的单个点有什么作用?

    使用 Wordpress 作为 CMS htaccess 文件如下所示 RewriteEngine On 1 ok enables engine RewriteBase blog 2 sets blog directory as base
  • 我可以添加编译时检查以确保这是合法的处理程序函数吗? (受限通用)

    查看评论 我希望第二个 MapPost 调用在编译时失败 我只是在尝试使用 asp net 最小管道 我认为这需要受限泛型 但我是 C 新手 所以认为有人可以快速回答这个问题 希望如此 var router new ExampleRoute
  • 我可以使用独立签名作为 Perl 6 中的签名吗?

    我正在尝试使用 Perl 6 实现一个命令行程序 该程序需要进行多次切换 签名至MAIN非常复杂而且有点混乱 我想知道是否有一种方法可以在其他地方定义签名并告诉子例程使用什么 possibly big and messy signature
  • AWS S3 保存和加载项目需要多长时间?

    S3 常见问题解答提到 所有区域中的 Amazon S3 存储桶为新对象的 PUTS 提供写后读一致性 并为覆盖 PUTS 和 DELETES 提供最终一致性 但是 我不知道需要多长时间才能获得最终一致性 我尝试搜索此内容 但在 S3 文档
  • Marshal.PtrToStructure() 和结构 DEVMODE 中的字符数组出现问题

    我在使用 Marshal PtrToStructure 从指向 DEVMODE 类型结构的指针中提取数据时遇到问题 Here http msdn microsoft com en us library dd183565 28v vs 85
  • 无法发布 API 项目的 Google Apps Marketplace 列表审核请求

    我的要求是启用OAuth 2 0对于现有的OAuth 1 0应用在Google Apps Marketplace 我在以下位置创建了新的 Google 项目console https cloud google com console 并为其
  • 如果 Count(*) 为零,则返回 NULL

    我有以下 mysql 查询 SELECT count student name AS total student school name FROM student LEFT JOIN school info ON school info s
  • Nginx 返回文件路径

    我希望 Nginx 返回路径 example com r 的 r json 文件 我尝试过的 location r alias home user media json r json 但这一切都不起作用 我收到了 500 条消息 home
  • GWT - Intellij IDEA 中 GWT 的优秀 GUI 编辑器是什么?

    IDEA 附带的工具只不过是一个 GWT 项目创建工具 有更好的插件吗 GWT 有独立的 GUI 编辑器吗 直接回答你的问题 目前还没有适用于 GWT 的 Intellij IDEA GUI WYSIWYG 编辑器 GWT 最受欢迎 功能完
  • Django:在视图中访问时,settings.py 中的重音字符被破坏

    我在 settings py 中有重音字符 我使用 getattr settings MY CONSTANT NAME 在视图中访问这些字符 但 getattr 调用返回损坏的字符 例如 变为 xc3 xb4 这是 view py 中的代码
  • 多步算法的设计模式

    我正在编写一个控制台应用程序 该应用程序执行包含 N 个步骤的算法 这一步很重要N在步骤之前正确完成N 1被执行 否则程序应该停止工作并显示错误消息 我可以用嵌套来做到这一点if当然和用途的陈述try catch finally 在fina