草庐IT

方案设计

全部标签

c# - 我们可以在领域驱动设计中使用 ASP.NET Identity 吗?

我们的团队决定为我们的项目使用领域驱动设计架构。现在讨论的焦点是“我们可以在DDD中使用ASP.NETIdentity吗?”。在DDD设计中使用ASP.NET标识有什么缺点吗?我对做出决定感到困惑。我已经搜索过了,但我没有任何想法。任何帮助都将不胜感激。 最佳答案 这些问题揭示了几个误解:您似乎将领域模型视为某种整体模型,您将每个应用程序都放入其中。相反,应专注于战略模式以区分限界上下文。将域视为几个松散互连的组件的组合。然后确定您的核心领域是什么,并在那里应用DDD战术模式。并非每个组件都需要DDD。其中一些甚至不应该使用DDD。

c# - 为什么 IDisposable 实现是这样设计的

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭4年前。Improvethisquestion让我们来看看臭名昭著的IDisposable接口(interface):[ComVisible(true)]publicinterfaceIDisposable{voidDispose();}和一个典型的实现,如MSDN所推荐的(我省略了当前对象是否已经被释放的检查):publicclassBase:IDisposable{protectedvirtualvoidDispose(booldisposing

c# - 如何在 Visual Studio 2012 中切换(或突出显示)同一解决方案的项目?

我是VisualStudio的新手,这个问题已经困扰我好几天了。我在VisualStudio2012中的同一个解决方案中有两个项目。在我的解决方案管理器中,其中一个被突出显示,所以当我在没有调试的情况下启动它时Ctrl+F5突出显示的那个开始。如何突出显示(然后按下Ctrl+F5)启动其他项目?无需关闭并重新打开项目。 最佳答案 右键单击->设置为启动项目。 关于c#-如何在VisualStudio2012中切换(或突出显示)同一解决方案的项目?,我们在StackOverflow上找到一

c# - C# 中条件编译的替代方案

除了在C#中使用条件编译代码之外,还有什么替代方法?我有一个包含大量基于#ifdef的代码的类。一段时间后我的代码变得不可读。寻找重构技术来提高代码的可读性和维护性,其中包含许多#ifdefs 最佳答案 一件事是使用ConditionalAttribute:[Conditional("DEBUG")]publicvoidFoo(){//Stuff}//ThiscallwillonlybecompiledintothecodeiftheDEBUGsymbolisdefinedFoo();它仍然是条件编译,但是基于属性而不是#ifdef

c# - 在 Windows Phone 上设计媒体播放器的好方法是什么?

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭11年前。Improvethisquestion为了学习一些Microsoft技术,我和一些friend正在创建一个Google音乐类型的项目。我负责WindowsPhone应用程序并让它与WCF交互以获取音乐流并播放它。看完之后,我发现了很多播放音乐的方式,包括XNA、SoundEffect、MediaElement、MediaPlayerLauncher。有如此多的选择,我无法确定最适合这份工作的东西。XNA播放器似乎功能齐全,但需要我

c# - 设计可从 F# 良好使用的 C# 库的指南

我只是想指出这个问题不是BestapproachfordesigningF#librariesforusefrombothF#andC#在这里,我不是在问如何设计一个用C#编写的函数库,以在两个世界中使用。我想了解有关设计选择包含或避免哪些方面的良好做法,以便做出合理的妥协,使该库可从F#使用.实践如(例如):保持对象层次结构尽可能简单避免改变对象的状态,但返回新的状态等...谁做过,可以分享一下经验吗?旁注有趣的是这个OSS项目,IronJS.是的,它是用F#编写的,但作者公开了两个专用主机IronJS.Hosting.FSharp和IronJS.Hosting.CSharp。

c# - 状态设计模式的功能等价物

状态设计模式的函数式编程等价物是什么?或者更具体地说,thisWikipediaexample会怎样?状态设计模式将转化为FP? 最佳答案 此模式是使用Statemonad的示例,一个计算环境用状态增加代码。这是Haskell中的一个实现。一些助手:importControl.Monad.Trans.StateimportControl.Monad.IO.ClassimportData.Char程序的两种运行模式dataMode=A|B这种模式下的状态计算类型,增加了一个计数器。typeStateMa=StateT(Int,Mode

c# - 什么是 OpenSplice 和 RTI DDS 实现的替代方案?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭3年前。Improvethisquestion我在RTIDDS方面拥有丰富的经验,并在许多应用程序中使用过它。我最近开始使用OpenSplice与DDS一起工作,看看它是否是RTI的一个很好的开源替代品。我已经让这两个头撞了一段时间,试图让消息在不同的实现之间来回传递,但无济于事。大家会推荐哪些(如果有的话)其他DDS实现?我找到了其他的,例如OpenDDS,但我真正想要的是一个与RTI兼容、支持C/C++/C#

c# - 在方法名称末尾包含介词是否符合或有损于正常的 C# API 设计?

我知道这听起来像是一个主观的回答,但我会尽量使问题尽可能客观,因为对问题的客观回答将是最有帮助的。我最近有一位代码审查员指出我有在方法末尾添加介词的习惯。这是我最近编写的一个方法,作为Point类的扩展方法:varrectangle=newRectangle(0,0,2,2);varpoint=newPoint(3,1);varresult=point.DistanceTo(rectangle);我的代码审阅者提到方法应该是point.Distance(rectangle)。我一直认为这是主观的和风格问题。但是,我注意到更多.NETAPI设计朝着这个方向发展。例如,使用NUnit的Fl

c# - 适用于 Citrix 的 SendKeys 替代方案

我最近为客户开发了一个虚拟键盘应用程序。该程序几乎适用于所有程序,但某些命令如{ENTER}或{DEL}不适用于Citrix。SendKeys是否有解决方法或替代方法?编辑1:我尝试了SendInput方法(Windows输入模拟器使用SendInput),但DEL键和箭头键仍然不起作用。然而,ENTER键有效。编辑2:解决了。使用两个不同版本的Citrix进行测试。Thisquestionhelpedmealot.:Citrixthinclientsusesthescancodeparamofkeybd_eventevenwhenMSsaysitisunusedandshouldbe