如何用模式解决下面这个问题

有一个页面分为几个模板, 设为A,B,C,D模块, 当A,B,C模快输入值时, D必须输入值, 然后完成一定的功能;
A,B,C模块不输入值, 但D模块输入值, 可以执行D模块的一些功能;


if(A已经输入值&&B已经输入值&&C已经输入值&&D已经输入值)
{
执行一大块代码
}
else if(D已经输入值&&A,B,C都没输入) {
执行另一代码
}

怎么写好一些呢?

其中A,B,C模块是别人已经写好的, D模块是由我写的, 大家帮我看一下, 谢谢!
好的解决方法是用业务规则引擎,但如果项目不大,这样的判断不多的话可以就这样写
如果想用模式解决问题,那么你必须全面详细描述一下业务场景,实际也是一个模式业务建模过程。

你现在提的问题在潜意识里实际上是征询数学解决方案,现在因为我们受数学公式思维影响太深刻,以至于,我们在没有得到答案前,归纳问题的特征时,已经打上了数学的烙印。

我不是说这个思维方式不好,但是我们如果求软件模式解决方案,要注意这是一个对象建模方案,而OO是非常讲究实际生活中的需求场景。

所以,单楼主目前提出的这样一个数学式问题,无法得出用什么模式来解决。

不错, 我大学就是学数学的, 这也能看的出来