草庐IT

架构图

全部标签

c# - 不了解在系统架构中的何处创建 IoC 容器

假设我有以下4个.net程序集:Winforms用户界面业务逻辑SQLServer数据访问(实现IRepository)通用接口(interface)(IRepository等的定义)我的业务逻辑(2)使用构造函数依赖注入(inject)通过IRepository(在4中定义)调用数据访问层(3)。然而,当我创建一个业务对象时,我需要传入一个实际的存储库。我通过在我的业务逻辑层中使用一个单例类来返回当前正在使用的实现IRepository的具体对象来实现这一点。我得出的结论是这是一件坏事,因为我的业务逻辑层现在必须引用3和4。我想我需要一个IoC容器,但问题是我在哪里创建/放置它,因为

c# - 在 3 层架构中使用 DTO

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭10年前。我使用的是简单的3层架构。在这里,我使用DTO类在UI、BL和DL之间进行通信。那么层与层之间有没有更好的通信方式呢?或者这是正确的方法?

c# - 使用 XSD 架构的 Xml 验证

以下代码帮助我验证具有XSD架构的XML文件。XmlReaderSettingssettings=newXmlReaderSettings();settings.Schemas.Add(null,xsdFilePath);settings.ValidationType=ValidationType.Schema;settings.ValidationEventHandler+=newSystem.Xml.Schema.ValidationEventHandler(settings_ValidationEventHandler);XmlDocumentdocument=newXmlDoc

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# - 如何以编程方式从类型生成 xml 架构?

我正在尝试以编程方式从任何.net类型生成xs:schema。我知道我可以使用反射并通过遍历公共(public)属性来生成它,但是有内置的方法吗?例子:[Serializable]publicclassPerson{[XmlElement(IsNullable=false)]publicstringFirstName{get;set;}[XmlElement(IsNullable=false)]publicstringLastName{get;set;}[XmlElement(IsNullable=true)]publicstringPhoneNo{get;set;}}期望的输出:

c# - 结构图,采用插件列表的构造函数

我有一个这样的界面publicinterfaceIWriter{...}和一个类publicclassWriterMerger{publicWriterMerger(IEnumerablewriters)...}我希望structuremap用所有已注册的IWriter填充WriterMerger上的构造函数参数。我注册了不同的作者StructureMap.ObjectFactory.Initialize(x=>{x.ForRequestedType().AddConcreteType();x.ForRequestedType().AddConcreteType();x.ForRequ

c# - 结构图 - 同一接口(interface)的两个实现

我有一个具有以下ctor的服务类:publicclass(IMessageServiceemailService,IMessageServicesmsService){...}和IMessageService的两个实现(电子邮件和短信)。如何配置容器以正确解析此构造函数?这是命名实例的用武之地,还是另一种情况? 最佳答案 您可以使用命名实例或智能实例来解决这个...//Namedinstancesthis.For().Use().Named("emailService");this.For().Use().Named("smsSer

c# - 架构 : simple CQS

我正在考虑为我的ASP.NETMVC网站应用CQS,但这是一件非常简单的事情。我不是指CQRS,因为我想对查询和命令部分使用相同的数据源,因此我不需要事件溯源和其他更复杂的模式。所以,我的想法是:查询和命令部分使用同一个数据库对于查询部分,通过EntityFramework和WCF数据服务暴露数据库View,从而将特定的View返回给客户端,查询数据变得非常容易对于命令部分,使用EntityFramework和单向WCF服务公开数据库表,并使用DDD原则。我主要想实现的是:由单向服务操作执行并由丰富的领域模型处理的简单命令,客户端只需传递执行命令真正需要的数据针对客户的特定UI设计的简

第三届字节跳动青训营——架构学习

一、架构基础架构定义:有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计常见软件架构单机:所有功能都实现在一个进程里,进程部署在单台机器上,运维时需要停服C10K问题(Concurrent10,000Connection):服务器如何支持10K个并发连接,进行高性能网络编程。解决方式:采用IO复用模型epoll方法,在调用返回时,只给应用提供发生了状态变化的文件句柄,不需要轮询fd(文件描述符)单机架构瓶颈:需要大量进程/线程作为处理单元,需要占用大量内存空间进程/线程切换,系统调度代价高解决方案:采用协程(Routine),一个线程中,存在多个协程。协程实现如Go语言的轻量级线