让我解释一下我想要创造的东西。我正在创建一个框架,其思想是提供生成数学问题的基类。
为什么我需要这个框架?因为第一次,我意识到当我创建一个新的数学题时,我总是做同样的步骤。
我想是这个想法中最重要的事情。
让我展示一下我在WPF独立程序中创建的一些问题。这里我有一个关于领域的数学题。当我生成问题时,一个集合来查看该对象,并将其绘制出来。


在初级阶段,我设置了只加载平方类型的配置设置。但在预先的水平上,可以随机加载三角形和方格。
在另一种情况下,生成一个二进制问题,如加法、减法、乘法或除法。


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

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

下面显示加载的模块,并对各自的配置或级别进行中心设置。
直到妈妈,我不知道开始创建这个软件。我只知道我需要一个问题-问题类,响应类,用户类。
但我不知道它应该包含什么属性。
请给这个框架一点帮助。我在这个问题上付出了很大的努力,所以如果有什么不清楚的地方,请让我澄清一下。
发布于 2017-10-10 11:59:23
你听起来就像一个对软件设计缺乏经验的人。对于你,我有一个黄金建议:不要创建一个框架!(所有的上限都是为了强调)。
如果您现在尝试构建抽象,您很可能会创建错误的抽象。
您希望创建一个创建数学问题并将其分组到工作表中的应用程序。那就去做吧。开始将if、S和变量堆叠到视图的代码后面,看看它的去向。在此之后,您可以开始查看代码中的常见模式并提取抽象。
同时,要做好失败的准备。如果你第一次尝试的时候,你创造了一些和你想象的一样的东西,我会很惊讶。准备好放弃你所拥有的,重新开始,现在用更多的经验和洞察力来构建你想要的东西。
发布于 2012-11-10 21:21:26
将问题转化为一组较小的问题(如果您愿意的话),每个问题都有一个单独的责任。例如,“生成问题方法”的级别太高,无法考虑实现。(考虑到您讨论过的所有不同类型的生成问题:工作表、图表等)如果你把它分成更小的部分,你就可以专注于解决这些部分中的每一部分。如果需要的话,您可以进一步解决这些问题。
在我看来,对你来说,考虑上课还为时过早。一个有帮助的步骤可以是考虑程序的这些不同模块,以及如何测试它们,如果您无法考虑如何测试它们,那么您就无法清楚地了解它们的预期目的。
此外,您还需要一个强大的体系结构才能有效地构建这个系统,您有很多共享组件,比如验证问题和图形界面,但是问题本身可能是非常不同的。我目前正在阅读设计模式:可重用的面向对象软件的元素,并会推荐它。
https://softwareengineering.stackexchange.com/questions/154798
复制相似问题