标签: business-objects

强制验证WPF中的绑定控件

我有一个WPF对话框,上面有几个文本框.文本框绑定到我的业务对象并附加了WPF验证规则.

问题是用户可以完美地单击"确定"按钮并关闭对话框,而无需将数据实际输入文本框.验证规则永远不会触发,因为用户甚至没有尝试将信息输入文本框.

是否可以强制进行验证检查并确定某些验证规则是否已损坏?

当用户试图关闭对话框并禁止他执行此操作时,如果任何验证规则被破坏,我将能够执行此操作.

谢谢.

validation wpf business-objects

56
推荐指数
2
解决办法
4万
查看次数

业务对象,验证和例外

我一直在阅读有关例外及其使用的一些问题和答案.似乎是一种强烈的观点,即只应针对异常,未处理的案例提出例外.这让我想知道验证如何与业务对象一起工作.

假设我有一个业务对象,其中包含对象属性的getter/setter.假设我需要验证该值是否介于10和20之间.这是一个业务规则,因此它属于我的业务对象.所以这似乎意味着我的验证码在我的二传手中.现在我将UI数据绑定到数据对象的属性.用户输入5,因此规则需要失败,并且不允许用户移出文本框..UI被数据绑定到属性,因此将调用setter,规则检查并失败.如果我从业务对象中引发异常以说规则失败,则UI会选择该规则.但这似乎违背了例外的首选用法.鉴于它是一个制定者,你实际上并不会对setter产生"结果".

那么验证应该如何运作呢?

编辑:我可能在这里使用了一个过于简化的例子.上面的范围检查之类的东西可以通过UI轻松处理,但是如果valdation更复杂,例如业务对象根据输入计算数字,如果计算出的数字超出范围,则应该重新注入.这是更复杂的逻辑,不应该在UI中.

还可以考虑根据已输入的字段输入的其他数据.例如,我必须在订单上输入一个项目以获得某些信息,例如库存,当前成本等.用户可能要求此信息做出进一步进入的决定(请说明订购了多少个单位)或者可能需要订购进一步验证.如果该项目无效,用户是否应该能够输入其他字段?重点是什么?

c# validation exception business-objects

37
推荐指数
5
解决办法
2万
查看次数

什么是优质领域模型的开源c#示例

我是一个非常年轻的开发人员,仍处于职业生涯的模拟阶段.我已经阅读了很多关于并发等主题的内容,并使用工作单元来允许业务层控制持久性事务.我甚至实现了一些实现这些主题的痛苦但功能强大的代码.但我真的没见过一个真正优雅的实现的真实世界的例子.我周围没有很多优秀的TDD,模式聚焦的榜样,所以我不得不向外界寻求指导.

所以,我正在寻找一些开源企业应用领域模型的典型例子.最好用c#编写,但其他语言也可以,只要它们是干净优雅的域模型解决方案的好例子.

我真正希望看到的一些优点是并发,业务规则和对象验证,事务/工作单元和半透明日志记录机制的优雅解决方案.我也很想知道一些现实世界的最佳实践是在域模型代码中进行异常处理.

我知道我可以随便开始闯入一些开源项目,并尝试从坏处解读好处,但我希望这里的专家社区能有一些很好的项目想法,以便简化工作.

谢谢你的时间.

编辑

我对构建和构造更容易的框架并不感兴趣.我选择的框架,或者是否使用框架是必要的考虑因素,但与我的问题完全不同.除非这些框架本身是开源的,并且是非常好的例子.

我正在寻找的是一个"做对了"的项目,通过灵活且易于维护的代码解决现实世界的问题,这样我就可以亲眼看到,并了解应该如何完成的示例这不是一个简单的50行教程示例.

c# concurrency open-source business-objects

36
推荐指数
1
解决办法
5885
查看次数

如何设计一个通用的商业实体,仍然是OO?

我正在研究一种打包产品,该产品应该满足不同要求(在一定程度上)的多个客户,因此应该以足够灵活的方式构建,以便每个特定客户可以定制.我们在这里讨论的那种定制是不同的客户端可能对某些关键业务对象具有不同的属性.此外,他们也可以将不同的业务逻辑与其附加属性联系起来

作为一个非常简单的例子:将 "汽车"视为系统中的商业实体,因此有4个关键属性,即VehicleNumber,YearOfManufacture,Price和Color.

使用该系统的其中一个客户端可能会向Automobile添加另外两个属性,即ChassisNumber和EngineCapacity.此客户端需要与这些字段关联的一些业务逻辑,以验证添加新汽车时系统中不存在相同的chassisNumber.

另一个客户端只需要一个名为SaleDate的附加属性.SaleDate有自己的业务逻辑检查,当输入销售日期时,该检查验证某些警方记录中的车辆是否作为被盗车辆存在

我的大多数经验主要是为单个客户端制作企业应用程序,我真的很难看到我如何处理其属性是动态的业务实体,并且还具有在面向对象范例中具有动态业务逻辑的能力.

关键问题

  • 是否有任何通用的OO原则/模式可以帮助我解决这种设计问题?

我相信从事通用/包装产品的人在大多数情况下都会面临类似的情况.任何建议/指针/一般指导也不胜感激.

我的技术是.NET 3.5/C#,该项目有一个分层架构,其业务层由包含业务逻辑的业务实体组成

oop design-patterns product business-objects

18
推荐指数
1
解决办法
1726
查看次数

业务逻辑类命名

我有一个业务层,有一些业务对象/ POCO /实体/任何.我还有一些数据访问存储库.到目前为止,我一直在从UI层访问存储库.我实际上需要一些不是直接CRUD的类,因此我将创建一些将执行逻辑的业务逻辑类,并且CRUD和存储库将不会被访问用户界面(可能从一开始就应该完成).

我该怎么称呼这些课程?我唯一能想到的是服务类,但我在这个应用程序中有实际的WCF服务,所以这会让它变得混乱.WCF服务也将使用这些类,因此让服务使用服务类似乎很奇怪而且令人困惑.

c# business-logic-layer business-logic business-objects

17
推荐指数
2
解决办法
7991
查看次数

服务层和域模型层之间有什么区别

例如,我有一个用户表,要进行分层,我创建了这样的POJO:

UserEntity.java
UserDao.java
UserBO.java(业务对象,域模型?)
UserService.java(用于服务层)

UserBO.java和UserService.java之间有什么区别?为什么我们把它分成两个对象?

java business-objects domain-model service-layer

17
推荐指数
2
解决办法
2万
查看次数

有没有值得的CSLA替代品?

我的公司有兴趣将大型业务应用程序移植到.NET.我们计划开发桌面版和Silverlight版.我主要研究了CSLA框架(得到了岩石的书,已经过了一半)并发现它有点过度设计,数据层方面似乎也没那么精致.

是否还有其他框架声称要做CSLA正在做的事情?我不是在谈论ORM工具(例如L2S,EF,NHibernate.)我对支持业务规则的框架感兴趣,简单的n层架构,对象是域驱动的而不是数据库驱动的,业务对象的安全性等...

我知道我可以找到一些小框架来完成所需的一些工作(想到企业应用程序块),但我正在寻找一个包含所有内容的框架.

.net c# csla frameworks business-objects

13
推荐指数
2
解决办法
3612
查看次数

UI,业务逻辑层,数据层以及放置Web服务的位置

我们正在开发一个Web应用程序.我们希望可以将我们在此处所做的工作重用于将使用相同数据库的不同应用程序,并使用相同的业务规则来读取和写入所述数据库.

哪种设计更正确

  1. 让UI调用Web服务,该服务将使用包含业务逻辑的业务对象,该业务对象将与数据访问层通信.

  2. 让UI使用包含业务逻辑的业务对象,该业务逻辑将调用Web服务,然后将与数据访问层进行通信.

  3. 让UI用户业务对象包含业务逻辑,该业务逻辑将与数据访问层通信.

web-services business-logic-layer web-applications data-access-layer business-objects

13
推荐指数
2
解决办法
1万
查看次数

.NET的标准业务逻辑数据类

有很多"原始"锅炉板类型的数据类可以出现在许多不同的程序中.

但是,我从未见过一个类或库集,它们认识到需要将所有这些内容与它们所需的常用逻辑相结合,例如验证.

示例类([]括号对应于假设库中的类):

地址(街道,邮政编码,城市,州/领地/省,国家)
人(姓名,联系信息([电话]/[电子邮件] /等),[地址],SSN/TIN,[信用卡])
电话(号码) ,国家代码等)
CreditCard(类型,数量,到期,ccv)**

我相信有人可以拿出很多其他人.

我开发了自己的电话/地址/人员/信用卡课程,我在项目中使用,完成验证和逻辑.

但是我只能验证美国的信息.理想情况下,我的电话号码类将从基本电话类继承,因为我实际上将数字分成NPA,NXX和Station,并使用NANP标准完全验证它.

网络中是否有一组库具有全面的锅炉板数据类集合以及适当的验证?

它是否包括对全球数据集或仅美国数据的验证?

对于来自CreditCard的**,它是否能够满足PCI数据安全标准?

我知道这些是许多人可能用许多不同语言写过很多次的类,但有没有任何.NET库可以满足这些需求?

我更喜欢打开源/免费,但我会考虑付费的第三方库集.

.net business-objects boilerplate

13
推荐指数
1
解决办法
617
查看次数

c#combobox绑定到对象列表

快速问题,是否可以将组合框绑定到对象列表,但是将selectedvalue属性指向对象,而不是对象的属性.

我只是问,因为我们有一些Business Objects引用了其他对象 - 比如'Year'对象.那年的对象可能需要换掉另一年的对象.

我能想到的唯一解决方案是让另一个类具有单个属性,在这种情况下指向年份对象.然后将组合框绑定到这些的列表,并将显示和值成员设置为单个属性.

但是,对于任何"查找",我们这样做似乎有点痛苦?

马龙

c# data-binding combobox business-objects winforms

13
推荐指数
2
解决办法
5万
查看次数