草庐IT

架构设计

全部标签

c# - EF 6 的工作单元和依赖注入(inject)设计问题

我使用EntityFramework6开发Web应用程序,在设计应用程序结构时遇到困难。我的主要问题是如何在我的特定情况下处理依赖项注入(inject)。下面的代码是我希望应用程序的样子。我正在使用Autofac,但我想它对每个DI用户来说都足够基本了:publicinterfaceIUnitOfWork{boolCommit();}publicclassUnitOfWork:IUnitOfWork,IDisposable{privateDbContext_context;publicUnitOfWork(DbContextcontext){_context=context;}publ

c# - 设计线程安全类

阅读MSDN文档时,它总是让您知道某个类是否是线程安全的。我的问题是你如何设计一个线程安全的类?我不是在谈论用锁定调用类我的意思是我正在为MicrosoftcreateXXXclass\object工作,我想说它是“线程安全的”我需要做什么? 最佳答案 使类线程安全的最简单和最万无一失的方法是使其成为immutable.它的美妙之处在于您不必再为锁定而烦恼。秘诀:在C#中将所有实例变量设置为readonly(在Java中为final)。不可变对象(immutable对象)一旦在构造函数中创建和初始化,就无法更改。不可变对象(immu

c# - ASP.NET MVC 大型项目架构

关闭。这个问题是opinion-based.它目前不接受答案。想改善这个问题吗?更新问题,以便可以通过editingthispost用事实和引文回答问题.8年前关闭。Improvethisquestion这是一个与如何为大中型应用程序构建ASP.NETMVC项目相关的问题。我以为我理解了MVC的概念,但在研究了大中型应用程序的架构后,我感到很困惑。(尝试考虑可扩展性、可扩展性和持续维护)当我试图按照“最佳实践”(来自包括打印和网络在内的众多来源)的指导方针来思考如何构建应用程序时,我感到困惑试图尊重诸如Controller应该保持非常简单TDD原则(或至少是一种使future测试更容易

c# - MVC设计模式,服务层的目的?

假设我有以下repo模式:interfaceIGenericRepowhereT:class{IEnumerableGetAll();TGetById(objectid);voidInsert(Tobj);voidUpdate(Tobj);voidDelete(Tobj);voidSave();}interfaceICustRepo:IGenericRepo{IEnumerableGetBadCust();IEnumerableGetGoodCust();}publicclassCustRepo:ICustRepo{//implementmethodhere}然后在我的Controll

c# - 为 DbContext 设置架构名称

我知道如何在我的上下文中为一个表设置架构,但是有没有办法为一个上下文中的所有表设置默认架构?即[Schema="Ordering"]publicclassMyContext:DbContext{publicMyContext():base("name=ConnectionString"){}publicDbSetStudents{get;set;}} 最佳答案 您可以在自定义继承的DbContext类的OnModelCreating方法中配置默认​​架构,例如-publicclassMyContext:DbContext{publi

c# - 如何确定分布式架构?

在设计大型应用程序时,我正在努力了解思考过程。假设我有一个客户需要一个新的客户网站,他估计每天有40,000个订单,而用户群已经有25,000个。在设计应用程序时,您如何确定是否需要分布式架构?我应该使用网络农场吗?等我过去主要构建2层(物理)应用程序,我真的想提高我的理解。任何见解都会很棒! 最佳答案 从一开始就对您的新应用进行负载测试。由于预先进行大型设计永远不会给您带来预期的结果(15年以上的经验),所以最好的办法是针对变化进行设计,让正确的架构从您的需求中浮现出来。根据您的描述,对该项目采用敏捷方法,并使用其实践来指导您的项

c# - 我怎样才能改进这个设计?

让我们假设我们的系统可以执行操作,并且一个操作需要一些参数来完成它的工作。我为所有操作定义了以下基类(为了您的阅读乐趣而进行了简化):publicabstractclassBaseBusinessAction:whereTActionParameters:IActionParameters{protectedBaseBusinessAction(TActionParametersactionParameters){if(actionParameters==null)thrownewArgumentNullException("actionParameters");this.Parame

c# - 寻找解释设计模式的高质量视频

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭11年前。Improvethisquestion我正在寻找解释设计模式的高质量视频。谁能推荐我可以下载并在我的电脑上观看的视频。我愿意为视频付费。

具有插件之间共享接口(interface)的 C# 插件架构

我将我的问题分为短版和长版,供手头时间不多的人使用。精简版:我需要一些具有提供者和消费者插件的系统的架构。提供者应该实现接口(interface)IProvider,消费者应该实现IConsumer。正在执行的应用程序应该只知道IProvider和IConsumer。消费者实现可以询问正在执行的程序集(通过ServiceProcessor)哪些提供者实现了InterfaceX并返回一个List。这些IProvider对象应该被转换为InterfaceX(在消费者中),以便能够将消费者Hook到InterfaceX定义的某些事件上。这将失败,因为执行程序集不知何故不知道此Interfac

Cisco packet tracer 软件模拟实现双核心中型企业/校园网 网络架构拓扑设计、论文,毕设

Ciscopackettracer软件模拟实现双核心中型企业/校园网网络设计。包含全部pkt文件操作文档技术说明设计2w字文档设计技术动态vlan,nat,ospfACL访问控制列表,HSRP备份冗余,服务器设计,动态主机配置协议(DHCP),生成树协议(STP),链路聚合。本视频的配置文件适用于多数毕业设计和课程设计!!!需要评论私信交流...项目演示视频:基于Ciscopackettracer的双核心热备份企业网/校园网网络设计综合组网配置详解/演示_哔哩哔哩_bilibili2 企业网系统需求分析2.1 总体需求分析概述2.2 业务需求分析2.2.1 信息点分布统计2.2.2 信息化需求