首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建MathBuilder框架所需的设计建议

创建MathBuilder框架所需的设计建议
EN

Software Engineering用户
提问于 2012-06-29 05:46:58
回答 2查看 408关注 0票数 3

让我解释一下我想要创造的东西。我正在创建一个框架,其思想是提供生成数学问题的基类。

为什么我需要这个框架?因为第一次,我意识到当我创建一个新的数学题时,我总是做同样的步骤。

  • 配置设置这样的范围号。例如,如果我在发展乘法,在初级阶段只生成2-5之间的第一个数字,或者在高级级别,第一个数字将在6-9之间,例如。
  • 生成问题方法一直以来,我都需要调用这样的方法来生成问题。这一个接收配置设置并根据它们生成数字。并使用相应的数据生成对象。
  • 验证问题。有时产生的问题是无效的。例如,假设我在最简化的情况下创建分数,如果我收到2/4,程序应该检测这是无效的,并且必须生成另一个类似的,1/4。
  • 加载视图。所有这些,都有一个自定义视图(请观看下面的图片)。
  • 所有问题都必须知道如何检查用户的结果是否正确。
  • 所有这些问题都有答案。其中有些只需要一个答案,另一些可能需要多个答案,所以我想一种保持开发人员灵活性的方法有他想要使用的所有答案。
  • 一开始我就开始使用PRISM。为每个数学问题生成模块是其思想,并将其加载到主系统中。

我想是这个想法中最重要的事情。

让我展示一下我在WPF独立程序中创建的一些问题。这里我有一个关于领域的数学题。当我生成问题时,一个集合来查看该对象,并将其绘制出来。

在初级阶段,我设置了只加载平方类型的配置设置。但在预先的水平上,可以随机加载三角形和方格。

在另一种情况下,生成一个二进制问题,如加法、减法、乘法或除法。

上面只会产生一个问题。这样做的目的是展示一个测试测试,我的意思是得到一个工作表(我称之为一个问题集合),用户可以回答它。

我希望我的丑画能得到这个主意。

如何加载这道数学题?如前所述,我开始使用PRISM,每个模块都包含一个数学题类。这是我第一个演示的快照。

下面显示加载的模块,并对各自的配置或级别进行中心设置。

直到妈妈,我不知道开始创建这个软件。我只知道我需要一个问题-问题类,响应类,用户类。

但我不知道它应该包含什么属性。

请给这个框架一点帮助。我在这个问题上付出了很大的努力,所以如果有什么不清楚的地方,请让我澄清一下。

EN

回答 2

Software Engineering用户

发布于 2017-10-10 11:59:23

你听起来就像一个对软件设计缺乏经验的人。对于你,我有一个黄金建议:不要创建一个框架!(所有的上限都是为了强调)。

如果您现在尝试构建抽象,您很可能会创建错误的抽象。

您希望创建一个创建数学问题并将其分组到工作表中的应用程序。那就去做吧。开始将if、S和变量堆叠到视图的代码后面,看看它的去向。在此之后,您可以开始查看代码中的常见模式并提取抽象。

同时,要做好失败的准备。如果你第一次尝试的时候,你创造了一些和你想象的一样的东西,我会很惊讶。准备好放弃你所拥有的,重新开始,现在用更多的经验和洞察力来构建你想要的东西。

票数 3
EN

Software Engineering用户

发布于 2012-11-10 21:21:26

将问题转化为一组较小的问题(如果您愿意的话),每个问题都有一个单独的责任。例如,“生成问题方法”的级别太高,无法考虑实现。(考虑到您讨论过的所有不同类型的生成问题:工作表、图表等)如果你把它分成更小的部分,你就可以专注于解决这些部分中的每一部分。如果需要的话,您可以进一步解决这些问题。

在我看来,对你来说,考虑上课还为时过早。一个有帮助的步骤可以是考虑程序的这些不同模块,以及如何测试它们,如果您无法考虑如何测试它们,那么您就无法清楚地了解它们的预期目的。

此外,您还需要一个强大的体系结构才能有效地构建这个系统,您有很多共享组件,比如验证问题和图形界面,但是问题本身可能是非常不同的。我目前正在阅读设计模式:可重用的面向对象软件的元素,并会推荐它。

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

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

复制
相关文章

相似问题

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