草庐IT

设计CPU

全部标签

c# - .NET 类设计问题

我有一个名为Question的类,它有一个名为Type的属性。基于这种类型,我想以特定方式将问题呈现为html(多项选择=单选按钮、多项答案=复选框等...)。我从单个RenderHtml方法开始,该方法根据问题类型调用子方法,但我认为将呈现逻辑分离到实现接口(interface)的单独类中可能会更好。但是,由于此类使用NHibernate持久保存到数据库中,并且接口(interface)实现依赖于属性,所以我不确定如何最好地布局该类。有问题的类:publicclassQuestion{publicGuidID{get;set;}publicintNumber{get;set;}pub

c# - 领域驱动设计适合我的项目吗?

我一直在阅读thisebookaboutDDD它说只有高度复杂的系统才适合DDD架构。这让我再次猜测我决定更多地转向DDD作为我的架构。我正在将经典的ASP应用程序逐节转换为.NET。它包括一个强大的产品分类方案和每天收到约100-200个订单的购物车,以及一个类似于YouTube的视频部分(视频和社交功能,如评分、评论等)。由于我已将其分块转换,因此我想将站点的每个区域视为单独的项目。该站点不断获得新功能,并且需要易于维护和更新。现在我只是使用一个基本的自制ADO.NETDAL,其中BLL和DTO充当公共(public)层。对于这个项目,使用与DDD不同的架构会更好吗?我是架构新手,

c# - ValidationRule 的执行集-C# 类设计 - 更好的方法

我有一个案例需要为不同的公司执行一组验证规则。将有针对一个公司的多个验证规则。所以我有如下表格结构公司IDCompanyName1ABC2DEF验证规则RuleIDName1Rule12Rule2公司验证规则映射MappingIDCompanyIdRuleID111212322我对每个验证规则都有单独的存储过程。因此,从我的C#代码中,我将找到与公司对应的所有验证规则,并需要执行与该规则关联的验证存储过程。所以我打算保留一个具有不同验证方法的接口(interface)“IValidation”。或者我是否必须为每个实现接口(interface)的验证创建不同的类谁能就此提出更好的方法。

c# - 设计一个灵活高效的问答系统

我一直在研究动态问答系统,但我无法为该系统创建高效且灵活的设计。我很想知道是否有既定的设计模式或设计此系统的任何建议。我想做什么我有一组问题。回答完之后,会显示另一组问题,取决于前一组问题的答案。如此重复,直到不需要更多问题。问题的答案都是bool值、多项选择或数字。重要的部分是,大多数问题仅在满足一组特定标准时才会显示(基于之前的答案)。我需要主要支持bool逻辑的标准,例如And、Or、Not、Equals、GreaterThan和LessThan。例如,假设我已经收到了诸如Age等问题的答案,Gender,和State.下一个问题是InSchool?,但只有在以下情况下才会显示:

c# - 设计一个F#模块被C#调用(Console/MVC/WPF)

我一直在尝试使用DeedleF#Library编写F#批处理程序。它工作得很好。但是,我不确定以下2个任务的最佳设计:将F#模块合并到现有的ASP.netMVC/WebApi系统中创建一个WPF界面作为各种F#模块的控制面板和视觉依赖Controller。F#模块执行的任务类型是处理时间序列和应用统计过程来导出新的时间序列。我一直在尝试为现有模块创建一个类包装器,以便可以从C#代码中调用它。我从C#DeepDive读到这是向C#调用者公开F#模块的更好方法。以下是示例包装器:typeTimeSeriesDataProcessor(fileName:string)=letmutable_

c# - 自动重新生成设计器文件

最近我一直在对我们使用的许多控件进行一些改进,例如为属性提供默认值以及将按钮设置为私有(private)而不是protected。通过进行此类调整,您需要重新生成具有此控件的窗体或继承自该控件的控件的设计器文件。在过去,这并不是真正的问题,因为我们只有20-30个表格。目前我们有300多个表单,这意味着在VS2010中打开相同数量的设计器。所以我的问题是:您是否知道一种自动执行此过程以便重新生成所有表单的方法?我一直在考虑寻找设计器文件并打开文件的宏(最多打开25-50个文件以确保VS不会崩溃),但我一直无法得到这个工作。希望有人给点建议! 最佳答案

c# - XAML 设计器显示属性名称而不是设计器数据 (d :DataContext) when Binding

上下文我希望我的UserControl(RepositoryContainer)在XAMLDesigner上填充数据。我创建了一个名为RepositoryContainerDesignData.xaml的文件(它与RepositoryContainer.xaml位于同一文件夹中)并将其设置为d:DataContext到UserControl。但XAML设计器不显示数据,而是显示属性名称。这是一个最小的例子:设计数据(RepositoryContainerDesignData.xaml)用户控件(RepositoryContainer.xaml)代码隐藏usingSystem.Windo

c# - 使用 C# 和 APM 时 CPU 使用率不会达到 100% 的原因是什么?

我有一个CPU密集型应用程序。当在单线程上处理数据时,CPU使用率会在很多分钟内达到100%。所以应用程序的性能似乎受CPU的限制。我对应用程序的逻辑进行了多线程处理,从而提高了整体性能。但是,CPU使用率几乎不会超过30%-50%。我希望CPU(和许多内核)达到100%,因为我同时处理多组数据。下面是我用来启动线程的逻辑的简化示例。当我运行这个示例时,CPU达到100%(在8/16核机器上)。但是,我使用相同模式的应用程序却没有。publicclassDataExecutionContext{publicintCounter{get;set;}//Arraysofdata}stati

c# - 是否有用于处理 Internet 上的大型数据集的设计模式?

我正在寻找一种设计模式来处理互联网上的大型数据集,并定期更新这些对象。我正在开发一个应用程序,它将一次在UI中显示数千条记录。此外,这些对象的各种属性都是暂时的,需要在客户端上更新,以使用户了解系统中这些记录的状态变化。我有一些如何解决这个问题的想法,但我认为可能有一个(或多个)设计模式可以处理这种类型的场景。限制:客户端是用Silverlight编写的。对象本身并不是很大(大约有15个值类型和字符串属性),但是查询所有数据的开销很大。15个左右的属性包含来自各种来源的数据;没有巧妙的连接语句或索引会加速查询。我正在考虑在初始加载时只填充属性的一个子集,然后在用户放大给定的对象分组时填

c# - 资源文件中的 WinForms 字符串,在设计器中连接

我正在尝试针对多种语言本地化WinForms应用程序。我正在尝试找到一种方法来设置我的表单标签/按钮文本属性以从设计器中的资源文件中读取(而不是必须维护以编程方式设置它们的代码块)。我发现我可以设置form.Localizable=true,但随后会从表单旁边的文件中读取资源,但我的许多资源是跨多个表单共享的。有什么方法可以将设计器中的标签文本设置为存储在项目级resx文件中的值? 最佳答案 回答这个问题,不。但是IMO,如果文本是静态的,无论如何都不应该这样做。阅读我对本地化和资源的回答:Resourcestringlocatio