首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为C++应用程序推荐一种设计模式,该应用程序接受一些数据,处理数据并返回结果

为C++应用程序推荐一种设计模式,该应用程序接受一些数据,处理数据并返回结果
EN

Software Engineering用户
提问于 2017-04-24 00:43:32
回答 2查看 1.8K关注 0票数 -5

因此,我对设计模式和C++11很陌生,但我一直在研究这两方面的内容。我正在开发一个C++应用程序来处理一些数据,我希望有更多经验的人能够告诉我,如果我在正确的轨道上。

因此,应用程序将接受一个大的二维数据数组.然后,在将数据传递给将处理数据的对象之前进行一些预处理。最后,必须对处理结果进行后处理,以建立不同类型的图样和汇总信息。

因此,在研究设计模式时,我发现使用命令模式或策略模式可能是一个很好的选择。但与此同时,我似乎应该使用复合作为一种将预处理、处理和后处理结合起来的方法。但我担心将3个对象连接到一个组合中可能会成为一个非常大的对象--这意味着我将违反关注点类型规则的分离。

我之所以想使用设计模式,是因为我希望有一种灵活的方法来向应用程序中添加新类型的预处理、处理和后处理链。因此,如果今天我从分析中生成一组图表,明天可能会有一个新的图表,有人想要。因此,我需要一种方法来添加新类型的请求或处理链,而不需要进入和破坏现有的对象--这违背了OOP设计的目的。

如有任何设计提示,将不胜感激。

编辑注意,这个问题不同于:选择正确的设计模式

参考问题是关于软件设计方法的一个一般性问题。我提出的问题要求根据一组需求提出具体的设计建议。

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2017-04-24 01:07:39

这听起来像是责任链(https://en.wikipedia.org/wiki/Chain-of-responsibility_模式)模式的工作。它允许松散耦合,因此您将不必使用组合。

票数 2
EN

Software Engineering用户

发布于 2017-04-24 06:21:36

我认为您正在寻找的是一个合适的软件架构,而不是一个设计模式。

在您的情况下,我认为学习数据流体系结构并在您的特定情况下使用它将是有帮助的。

在您的体系结构中,我看到了以下不同类型的组件。

  1. 数据源
  2. 预处理器
  3. 处理器
  4. 后处理器
  5. 数据汇

最简单的架构实例化将包括:

一个稍微复杂一些的体系结构实例化可能包括:

票数 3
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/347646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档