2
|
harriyott Erik Funkenbusch · 技术社区 · 14 年前 |
![]() |
1
4
我认为将问题和答案子类化是一个很好的计划——去掉问题类型enum。 然后您就可以有一个MakeAnswer(string)抽象方法来解决这个问题,它为您封装了很多逻辑,并且可以在必要时进行类型转换等。 我对一般问题的解决方法 Rob's answer 可能是这样的:
在哪里?
DateTimeAnswer如下所示:
DateTimeQuestion可能看起来像:
这样,您的答案可以以自己的方式保存值,并且您可以指定它在数据库中的外观(我建议使用鉴别器进行映射)。您的问题可以负责从一般响应创建答案。 |
![]() |
2
1
有趣的问题。。 我的意见/想法:
我会按照这样的思路思考:
全部 可能只是显示答案。。我们通过泛型的方式添加了类型安全性,这样我们就可以确保在没有类型参数的情况下不能创建新的响应。。 然后我们就可以非常确定,我们所实现的答案的类型是有限的。NHib应该没有真正的问题,因为它知道自己需要什么。
虽然很糟糕,但我们有
|
![]() |
3
-1
将答案存储在完整的数据模型中真的有意义吗?你要拿他们干什么? 最可能的候选者似乎是报告,在这种情况下,您可能需要研究CQRS(命令查询责任分离)样式。相反,您将有一个QuestionnaireCompletedCommand,它将包含一个答案列表,然后您将以某种方式保留这些答案,以便可以对它们运行报告。 当您有业务逻辑(您可能有)时,数据模型是很好的,但是如果您没有任何业务逻辑,您可能只是不必要地使解决方案复杂化。说到复杂化,当我说看cqr时,我并不一定是指事件来源部分。这是一个非常复杂的问题,很少有人需要。 |
![]() |
Giffyguy · 如何限制在构造向量后调用'resize()'? 2 年前 |
![]() |
vytaute · 返回表类型时Oracle函数中的类型错误 2 年前 |
![]() |
bbgghh · 在scala中连接两个列表时如何处理不匹配的键 2 年前 |
![]() |
dev-chicco · Laravel系列寻找常见物品 2 年前 |
![]() |
Mitch · Laravel-雄辩的单品合并系列 6 年前 |
![]() |
Kieran · 为什么类X可以从集合继承<X> 6 年前 |
![]() |
John · 如何在不返回集合本身的情况下返回集合的数据? 6 年前 |
![]() |
Niklas Mertsch · 在泛型集合中实现移除(对象o) 6 年前 |