jjzjj

ArchItecture

全部标签

c# - 使用接口(interface)实现 CRUD

使用将用于抽象DAL操作的接口(interface)在BL上实现CRUD的最佳方法是什么?我需要你们的意见……这是我的草稿..映射到数据库表中的数据实体publicclassStudent{publicstringStudentId{get;set;}publicstringStudentName{get;set;}publicCourseStudentCourse{get;set;}}publicclassCourse{publicstringCourseCode{get;set;}publicstringCourseDesc{get;set;}}我创建了一个CRUD接口(inter

c# - 获取命令模式中执行方法的结果

目前我正在尝试在一个简单的测试项目中实现事务脚本模式(MartinFowlerdescribed是如何使用CommandPattern的),一切正常,问题是我不知道如何获取在继承自ICommand接口(interface)的具体类中执行指定方法时的结果。让我们向您展示一些代码,以阐明我拥有的功能。我有一个简单的CalculateSalaryCommand类,它继承自ICommand接口(interface)publicclassCalculateSalaryCommand:ICommand{privatereadonlyCalculateSalaryTS_salaryTs;privat

c# - .NET Entity Framework 项目布局(架构)

我正在尝试确定如何最好地构建.NETEntityFramework项目以实现良好的分层方法。到目前为止,我已经在玩家拥有和经营行星的基于浏览的游戏中进行了尝试。这是我得到它的方法:网站这包含了所有的前端。C#项目-MLS.Game.Data这包含带有我所有数据映射的EDMX文件。这里没有其他内容。C#项目-MLS.Game.Business这包含各种我称为“管理器”的类,例如PlanetManager.cs。星球管理器有各种用于与星球交互的静态方法,例如getPlanet(intplanetID),它将返回从MLS.Game.Data生成的代码对象。在网站上,我会做这样的事情:varp

c# - Raven DB 的数据访问架构

RavenDB可以使用哪些数据访问架构?基本上,我想通过接口(interface)分离持久性,所以我不会将下划线存储暴露给上层。IE。我不希望我的域看到来自RavenDB的IDocumentStore或IDocumentSession。我已经实现了通用存储库模式,这似乎行之有效。但是,我不确定这实际上是正确的方法。也许我应该转向命令查询隔离或其他东西?你有什么想法? 最佳答案 就个人而言,我对命令模式并没有真正的经验。我看到它被用于RobAshton'sexcellenttutorial.对于我自己,我将尝试使用以下内容:-存储库模

c# - CQRS 应用程序中的缓存失效

我们在我们的应用程序中实践CQRS架构,即我们有许多类实现ICommand每个命令都有处理程序:ICommandHandler.数据检索也是如此——我们有IQUery与IQueryHandler.这几天很常见。一些查询经常使用(用于页面上的多个下拉列表),缓存它们的执行结果是有意义的。所以我们有一个围绕IQueryHandler的装饰器来缓存一些查询执行。查询实现接口(interface)ICachedQuery和装饰器缓存结果。像这样:publicinterfaceICachedQuery{StringCacheKey{get;}intCacheDurationMinutes{get

c# - 使用 Everest Framework 解析 XML 文档(Clinical Document Architecture-CDA,HL7 标准)

我正在尝试从标准化为HL7V3CDA标准的XML文件中解析一些临床信息。XML文件:AmlodipineBesylate5mgLakeErieMedicalDBAQualityCareProductsLLCLakeErieMedicalDBAQualityCareProductsLLCAlkemLaboratoriesLimitedAmlodipineBesylateAmlodipineBesylateAMLODIPINEBESYLATEAMLODIPINECELLULOSE,MICROCRYSTALLINEANHYDROUSDIBASICCALCIUMPHOSPHATESODIUMS

c# - 验证检查在存储库模式中的什么位置?

假设我有一个名为User的实体,它有很多帖子。对于删除帖子,我的服务如下所示:voidDeletePost(intpostId,intuserId);我的验证码去哪儿了?(确保用户有删除权限)。我应该在存储库中使用1个数据库调用来执行此操作吗?或者我应该在我进行2次调用的服务层中执行此检查:通过userId获取用户。在对用户完成验证后调用delete。我将有2个存储库,1个用于用户,1个用于帖子,每个都如下所示://FromthePostRepository.voidDelete(intpostId);//MayhavetoaddauserIdparamifIdovalidationi

c# - 在 C# 应用程序中保护数据层

我在考虑如何保护C#应用程序中的数据层,在这种情况下,该层可以是与应用程序本身一起存储的LINQtoSQL模型图,其中包含到SQLServer数据库的连接字符串。或者它可能是应用程序和网络服务之间的连接。要么您需要实现某种安全措施,例如,应用程序中的连接字符串很容易被逆向工程,Web服务很容易被跟踪和用于应用程序原始目的之外的其他原因。所以我的问题更简短:在处理Web服务和/或从Windows窗体应用程序直接连接到SQLServer时如何解决安全问题? 最佳答案 在您的情况下,有两种主要的攻击可能性:窃取连接字符串然后直接访问数据库

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)的验证创建不同的类谁能就此提出更好的方法。