草庐IT

Streaming模式

全部标签

c# - 存储库模式是否遵循 SOLID 原则?

我正在对SOLIDprincipal进行一些研究,发现了Repository模式实现中的一些问题。我将逐一解释,如有错误请指正。问题1存储库模式打破了单一职责原则(S)假设我们有一个定义为的接口(interface)publicinterfaceIRepositorywhereT:IEntity{IEnumerableList{get;}voidAdd(Tentity);voidDelete(Tentity);voidUpdate(Tentity);TFindById(intId);}显然它违反了单一责任原则,因为当我们实现这个接口(interface)时,在一个类中我们同时放置了Co

c# - 您如何用初学者语言描述观察者模式?

目前,我对观察者模式的理解程度低于网上所有的编码示例。我将其简单地理解为几乎是一个订阅,当委托(delegate)注册发生更改时,它会更新所有其他事件。但是,我对好处和用途的真正理解非常不稳定。我做了一些谷歌搜索,但大多数都超出了我的理解水平。我正在尝试用我当前的家庭作业来实现这个模式,要真正让我的项目有意义,需要更好地理解这个模式本身,或许还需要一个例子来了解它的用途。我不想将这种模式强加到只是为了提交的东西中,我需要了解目的并相应地开发我的方法,以便它真正达到一个好的目的。我的文字并没有真正进入它,只是一句话提到它。MSDN对我来说很难理解,因为我是这方面的初学者,而且它似乎更像是

c# - 软件渲染模式——WPF

我有一个WPF用户控件,我需要在RenderMode.SoftwareOnly中强制呈现。由于我使用的是.NET3.5,因此我必须执行以下操作:varhwndSource=PresentationSource.FromVisual(this)asHwndSource;if(hwndSource!=null){hwndSource.CompositionTarget.RenderMode=RenderMode.SoftwareOnly;}但这不适用于我的应用程序,WPF程序在少数机器上崩溃,在注册表级别关闭硬件加速似乎可以解决问题。以上代码写在窗口的Loaded事件中。如果我是正确的,L

c# - 正则表达式 - 在字符之前匹配模式

我目前正在用C#构建一个玩具组装器(正在阅读TheElementsOfComputingSystems书)。我需要匹配一个非常简单的模式,我认为这是学习一些正则表达式的好时机,但我正在努力!在下面的例子中,我只想匹配'='之前的字母M=AD=MMD=AA=D广告=MAMD=A我想出了以下内容:([A-Z]{1,3})=但是这也匹配我不想要的'='。我也试过:([A-Z^\=]{1,3})=但我仍然遇到同样的问题-它也匹配'='符号。我正在使用thissite测试我的正则表达式。任何帮助将不胜感激。提前谢谢你。 最佳答案 您想要的是所

c# - 如何以任意序列搜索模式?

正则表达式仅适用于字符串,但如果该功能不仅可以扩展到字符,还可以扩展到对象,甚至进一步扩展到函数,那会怎样呢?假设我们的对象是整数,它们可以按任何顺序排列:12345678910111213你要解决的任务是像这样找到素数对(或类似的模式搜索任务):{prime}{anyNumber}{prime}所以答案是这样的:(3,4,5)(5,6,7)(11,12,13)或者更复杂的素数链示例:{prime}({anyNumber}{prime})+回答:(3,(4,5),(6,7))(11,(12,13))很像Regex的工作方式,对吧?发生的事情是你定义了一些名为isPrime(x)的函数,

c# - 流行的 "volatile polled flag"模式坏了吗?

假设我想使用一个bool状态标志来实现线程间的协作取消。(我意识到应该最好使用CancellationTokenSource代替;这不是这个问题的重点。)privatevolatilebool_stopping;publicvoidStart(){varthread=newThread(()=>{while(!_stopping){//Docomputationlastingaround10seconds.}});thread.Start();}publicvoidStop(){_stopping=true;}问题:如果我在另一个线程上在0秒调用Start()并在3秒调用Stop(),

c# - 使用 Entity Framework 持久化状态模式

我目前正在使用MVC3开发一个项目。我已经分离了我的关注点,所以有诸如核心、存储库、UI、服务等项目。我已经实现了存储库、UnitOfWork和最重要的状态模式。我正在使用EntityFramework4.3来保存我的数据,但我遇到了一个相当烦人的情况,涉及到当前状态的持久化。以下是一些类示例:publicclassRequest{publicintRequestId{get;set;}publicStateCurrentState{get;set;}}publicabstractclassState{[Key]publicstringName{get;set;}publicvirtu

c# - EntityFramework 核心单元测试 - SQLite 内存模式与 InMemory 提供程序

我正在为使用EntityFrameworkCore并根据docs的项目编写单元测试。我可以使用SQLite内存模式或TheInMemoryprovider来近似数据库上下文。文档指出SQLite内存模式的行为类似于关系数据库,InMemory提供程序的行为并不总是像关系数据库。据我所知,SQLite模式听起来更好,因为它的行为类似于关系数据库,而InMemory提供程序则不然,但我想还有其他方面需要考虑,否则没有人会使用InMemory提供程序听起来更糟。在选择使用哪种工具之前,我应该考虑每种方法的其他优缺点吗? 最佳答案 如果您的

c# - WP7 如何在设备上调试飞行模式?

有没有办法在设备上调试飞行模式?我尝试在设备设置中打开飞行模式并禁用计算机上的互联网连接,但NetworkInterface.GetIsNetworkAvailable()仍然返回true。我做错了什么吗? 最佳答案 注意officialdoc底部的评论:ThisAPIwillalwaysreturntrueontheWindowsPhone7emulator.Testingthereforerequiresafacade,mockorconditionalchunkofcode.我刚刚在实际设备上对此进行了测试,确实,它返回了一个

c# - 工厂方法模式和抽象工厂模式如何选择

我知道以前有人问过类似的问题。在过去的几天里,我已经阅读了很多关于此的内容,我想我现在可以理解设计和代码流方面的差异。令我困扰的是,这两种模式似乎都可以解决同一组问题,而没有真正的理由选择一个或另一个。当我试图自己解决这个问题时,我尝试实现一个小例子(从我在“HeadFirst:Designpatterns”一书中找到的那个开始)。在这个例子中,我尝试两次解决同一个问题:一次只使用“工厂方法模式”,另一次使用“抽象工厂模式”。我会向您展示代码,然后我会提出一些意见和问题。通用接口(interface)和类publicinterfaceIDough{}publicinterfaceISa