我不知道该如何用文字来形容。
这就像假设我们有一个类似的层次结构
-
IFoo
-
Foo1
-
Foo2
-
-
IBar
-
Bar1
-
Bar2
-
Bar3
-
和类似对象
public class Baz
{
public IFoo Foo { get; set; }
public IBar Bar { get; set; }
}
和类似的业务规则
=================================
Foo type | Bar type | Valid Baz?
=================================
| Foo 1 | Bar 1 | false |
---------------------------------
| Foo 1 | Bar 2 | false |
---------------------------------
| Foo 1 | Bar 3 | true |
---------------------------------
| Foo 2 | Bar 1 | true |
---------------------------------
| Foo 2 | Bar 2 | true |
---------------------------------
| Foo 2 | Bar 3 | false |
(或者这甚至是反模式吗?)