使用属性调用
Rules rules = new Rules();if ( rules.ProjectRequiresApproval ) { // get approval} else { // skip approval}
使用方法调用
Rules rules = new Rules();if ( rules.ProjectRequiresApproval() ) { // get approval} else { // skip approval}
规则类将规则显示为属性
public class Rules() { private int _amount; private int threshold = 100; public Rules() { _amount = someExpensiveXpathOperation; } // rule property public bool ProjectRequiresApproval { get { return _amount > threshold } }}
规则类暴露规则作为方法
public class Rules() { private int _amount; private int threshold = 100; public Rules() { _amount = someExpensiveXpathOperation; } // rule method public bool ProjectRequiresApproval() { return _amount > threshold; }}
一个人的利弊是什么?
解决方法 所有这些都归结为向消费这种业务逻辑的人传达语义.属性是特定对象的内在值.您的示例中的规则是业务逻辑引擎,因此其公开的任何属性都应适用于该引擎的状态和行为,而不是应用于由其处理的数据.因此,ProjectRequiresApproval()是引擎应用于外部实体的 *** 作.
如果另一方面有Rules.GetProcess()方法,那将返回一个Process对象,RequiresAproval可以是该对象上的属性.
总结以上是内存溢出为你收集整理的使用属性或方法在C#中公开业务规则?全部内容,希望文章能够帮你解决使用属性或方法在C#中公开业务规则?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)