我一直在研究动态问答系统,但我无法为该系统创建高效且灵活的设计。我很想知道是否有既定的设计模式或设计此系统的任何建议。我想做什么我有一组问题。回答完之后,会显示另一组问题,取决于前一组问题的答案。如此重复,直到不需要更多问题。问题的答案都是bool值、多项选择或数字。重要的部分是,大多数问题仅在满足一组特定标准时才会显示(基于之前的答案)。我需要主要支持bool逻辑的标准,例如And、Or、Not、Equals、GreaterThan和LessThan。例如,假设我已经收到了诸如Age等问题的答案,Gender,和State.下一个问题是InSchool?,但只有在以下情况下才会显示:
我一直在尝试使用DeedleF#Library编写F#批处理程序。它工作得很好。但是,我不确定以下2个任务的最佳设计:将F#模块合并到现有的ASP.netMVC/WebApi系统中创建一个WPF界面作为各种F#模块的控制面板和视觉依赖Controller。F#模块执行的任务类型是处理时间序列和应用统计过程来导出新的时间序列。我一直在尝试为现有模块创建一个类包装器,以便可以从C#代码中调用它。我从C#DeepDive读到这是向C#调用者公开F#模块的更好方法。以下是示例包装器:typeTimeSeriesDataProcessor(fileName:string)=letmutable_
最近我一直在对我们使用的许多控件进行一些改进,例如为属性提供默认值以及将按钮设置为私有(private)而不是protected。通过进行此类调整,您需要重新生成具有此控件的窗体或继承自该控件的控件的设计器文件。在过去,这并不是真正的问题,因为我们只有20-30个表格。目前我们有300多个表单,这意味着在VS2010中打开相同数量的设计器。所以我的问题是:您是否知道一种自动执行此过程以便重新生成所有表单的方法?我一直在考虑寻找设计器文件并打开文件的宏(最多打开25-50个文件以确保VS不会崩溃),但我一直无法得到这个工作。希望有人给点建议! 最佳答案
上下文我希望我的UserControl(RepositoryContainer)在XAMLDesigner上填充数据。我创建了一个名为RepositoryContainerDesignData.xaml的文件(它与RepositoryContainer.xaml位于同一文件夹中)并将其设置为d:DataContext到UserControl。但XAML设计器不显示数据,而是显示属性名称。这是一个最小的例子:设计数据(RepositoryContainerDesignData.xaml)用户控件(RepositoryContainer.xaml)代码隐藏usingSystem.Windo
我正在寻找一种设计模式来处理互联网上的大型数据集,并定期更新这些对象。我正在开发一个应用程序,它将一次在UI中显示数千条记录。此外,这些对象的各种属性都是暂时的,需要在客户端上更新,以使用户了解系统中这些记录的状态变化。我有一些如何解决这个问题的想法,但我认为可能有一个(或多个)设计模式可以处理这种类型的场景。限制:客户端是用Silverlight编写的。对象本身并不是很大(大约有15个值类型和字符串属性),但是查询所有数据的开销很大。15个左右的属性包含来自各种来源的数据;没有巧妙的连接语句或索引会加速查询。我正在考虑在初始加载时只填充属性的一个子集,然后在用户放大给定的对象分组时填
我正在尝试针对多种语言本地化WinForms应用程序。我正在尝试找到一种方法来设置我的表单标签/按钮文本属性以从设计器中的资源文件中读取(而不是必须维护以编程方式设置它们的代码块)。我发现我可以设置form.Localizable=true,但随后会从表单旁边的文件中读取资源,但我的许多资源是跨多个表单共享的。有什么方法可以将设计器中的标签文本设置为存储在项目级resx文件中的值? 最佳答案 回答这个问题,不。但是IMO,如果文本是静态的,无论如何都不应该这样做。阅读我对本地化和资源的回答:Resourcestringlocatio
我正在考虑为我的ASP.NETMVC网站应用CQS,但这是一件非常简单的事情。我不是指CQRS,因为我想对查询和命令部分使用相同的数据源,因此我不需要事件溯源和其他更复杂的模式。所以,我的想法是:查询和命令部分使用同一个数据库对于查询部分,通过EntityFramework和WCF数据服务暴露数据库View,从而将特定的View返回给客户端,查询数据变得非常容易对于命令部分,使用EntityFramework和单向WCF服务公开数据库表,并使用DDD原则。我主要想实现的是:由单向服务操作执行并由丰富的领域模型处理的简单命令,客户端只需传递执行命令真正需要的数据针对客户的特定UI设计的简
这与DoesfunctionalprogrammingreplaceGoFdesignpatterns?有些相关自从在C#中引入了lambda和动态,是否有任何标准设计模式可以被视为过时或使用lambda或其他语言功能以其他方式解决?比如现在可以利用C#的动态特性来做multimethod。http://achoiusa.wordpress.com/2009/08/27/exploring-c-4-0-multimethods/(我想MarcGravell有一些关于这个的帖子?)就我个人而言,现在我倾向于使用FuncofT来做工厂。例如publicstaticclassSomeFact
为什么抽象方法需要new/override而虚方法不需要?示例1:abstractclassShapesClass{abstractpublicintArea();//abstract!}classSquare:ShapesClass{intx,y;publicintArea()//Error:missing'override'or'new'{returnx*y;}}编译器会显示这个错误:要使当前成员覆盖该实现,请添加override关键字。否则添加新关键字示例2:classShapesClass{virtualpublicintArea(){return0;}//itisvirt
情况我正在创建一个C#/WPF4应用程序,使用SQLCompactEdition数据库作为EntityFramework的后端,并使用ClickOnce进行部署。我对使用数据库的应用程序相当陌生,但我不怀疑我在设计和构建原始数据库时会遇到很多问题。但是,我担心将来我需要添加或更改一些功能,这将需要我在数据库已经部署并且用户在数据库中有数据后更改数据库设计。问题是否有可能像代码更改一样通过clickonce更新将更新后的数据库设计推送给用户?如果我这样做了,用户的数据会受到怎样的影响?这种事情在实际情况中是如何完成的?有哪些最佳实践?我认为在最坏的情况下,我需要在数据库或程序设置中构建某