我正在从事我的第一个DDD项目,我想我了解实体、数据访问对象及其关系的基本角色。我有一个基本的验证实现,它存储每个验证规则及其关联的实体。这适用于仅适用于当前实体的规则,但在需要其他数据时会分崩离析。例如,如果我有用户名必须是唯一的限制,我希望IsValid()调用在存在具有当前名称的现有用户时返回false。但是,我没有找到任何干净的方法来将此验证规则保留在实体本身上。我想在实体上有一个IsNameUnique函数,但大多数解决方案都需要我注入(inject)一个用户数据访问对象。这个逻辑应该在外部服务中吗?如果是这样,我如何仍然保持实体本身的逻辑?或者这是应该在用户实体之外的东西?
关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion我正在为需要执行以下操作的客户创建一个应用程序:允许用户使用Google、Facebook、Twitter和LinkedIn进行身份验证。允许用户在注册后添加其他提供商。(即,如果用户通过Google进行身份验证,那么他们也应该能够添加任何或所有其他提供商。)允许用户导入Google联系人、Facebook好友列表、Twitter关注者和Linkedin好友,以构建自定义联系人列表。最好从哪里开始学习?.
有人能解释一下我们何时以及为什么应该使用System.ComponentModel.Container吗?最近我遇到了这个类的使用here,但真的不明白有什么好处可以让我们上这门课。 最佳答案 一般来说,System.ComponentModel命名空间的存在是为了支持组件开发——组件可以是可视的(控件)和非可视的。IMO,当需要设计时支持时,应该开发组件(在此上下文中IComponent实现)。例如,您可以将组件拖到VisualStudio中的设计图面上并访问它们的属性。在此上下文中,IContainer和Container表示将
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我对应该在哪里应用我的XML注释感兴趣。我是否应该在接口(interface)中放置一个更通用的XML注释,而在实现类中放置一个更具描述性的注释?像这样:publicinterfaceIObjectRepository{//////ReturnsanobjectfromtherespositorythatcontainsthespecifiedID.///ObjectGetObject(i
返回Task的方法有两个报告错误的选项:立即抛出异常返回将异常结束的任务调用者是否应该期望两种类型的错误报告,或者是否有一些标准/协议(protocol)将任务行为限制为第二种选择?例子:classPageChecker{TaskCheckWebPage(stringurl){if(url==null)//ArgumentcheckthrowException("BadURL");//Someothersynchronouscheckif(!HostPinger.IsHostOnline(url))throwException("Hostisdown");returnTask.Fact
通常,我使用List,然后在我不再需要更新它们时将它们作为IEnumerable返回。但是,我遇到了一个问题,我实际上需要枚举它们但首先需要知道计数。IEnumerable会枚举每个项目并找到计数(O(N)),还是会依赖于List的Count属性(O(1))?此外,如果IEnumerable是LINQ查询的结果怎么办? 最佳答案 WillIEnumerableenumerateeveryitemandfindthecount(O(N)),orwillitrelyonList'sCountproperty(O(1))?它将使用Coun
我目前正在开发一个WCF服务,该服务可以连接到另一个服务以在其一些操作中提交信息。第二个服务的代理是通过强类型ProxyFactory生成的类(class)。我没有遇到任何问题,但听说我应该在调用电话时执行以下操作:using(newOperationContextScope((IContextChannel)_service))_service.Send(message);所以我的问题是:什么时候创建这个新的OperationContextScope合适,为什么?谢谢! 最佳答案 如果您正在使用回调或者如果您想要修改消息或head
我真的很难过。我需要设计一个将使用WCF作为通信channel的“桌面应用程序”。它是一个多层应用(DB和应用服务器是一样的,客户端通过互联网云)。该应用程序比通常的LOB应用程序有点复杂(在SQL和代码逻辑方面),但概念是相同的:从DB读取、更新到DB、处理并发等。我的问题是现在使用Entity开放的框架,我无法决定采用哪种方式:我应该使用EntityFramework、数据集还是自定义类。正如我对EntityFramework的理解,它将创建我的数据库表的对象映射以及CRUD脚本。这对于简单的CRUD来说很好,但大多数时候“选择”很复杂,它需要自定义SQL。我知道我可以在EF中使用
我有一个对象列表,我需要尽快找到一个对象(通过它的名称属性)。我应该使用什么数据结构?我知道我可以使用字典,但列表中的项目永远不会超过10个,如果我没记错的话,如果集合包含10个或更少的项目,字典将实现为一个数组。谢谢。 最佳答案 MSDN推荐ListDictionary对于包含10个或更少项目的集合:ThisisasimpleimplementationofIDictionaryusingasinglylinkedlist.ItissmallerandfasterthanaHashtableifthenumberofelement
这里是WCF新手...我正在尝试使用NetTcpBinding自托管WCF服务。基于MSDN"how-to"tutorial我已经完成了代码中的所有绑定(bind),然后我将其从WsHttpBinding更改为NetTcpBinding,现在看起来像这样:varbaseAddress=newUri("net.tcp://localhost:8000/MyWebService");varselfHost=newServiceHost(typeof(ConcreteWebService),baseAddress);try{varbinding=newNetTcpBinding();bind