【发布时间】:2012-12-09 21:49:30
【问题描述】:
我正在处理 CreditCardPayment 上下文,并发现某些上下文方法并不需要所有角色。例如,方法CreateSecurityHash 可能需要所有角色,但VerifyHash 只需要一个。不绑定所有角色可以吗?如果是这样,如何引入多个构造函数并只绑定需要的内容,如下所示:
public CreditCardPayment(objectA, objectB, objectC)
{
BindRoles(objectA, objectB, objectC)
}
public CreditCardPayment(objectA)
{
BindRoles(objectA, null, null)
}
虽然知道在执行此操作时允许调用哪些上下文方法,但感觉很困难。所以我想知道:
- 这还可以吗(如果可以,为什么?),或者
- 整个场景是否表明需要另一个上下文,或者
- 我是否应该始终保留上下文并提供角色所需的所有对象?
【问题讨论】:
-
为每个调用创建一个新上下文的目的是什么?为什么不在支付过程中让上下文存在?
-
很好,我当然会这样做。因此,作为一项规则,角色应该始终被绑定?
标签: dci