UPDATE:我原来的问题不是很清楚。我正在寻找原理的名称,该代码如下面的示例违反。揭露成员(成员,...)成员使用组合提供其功能的术语是什么?
(我已经更新了代码示例以更好地类似于我正在谈论的场景,我所包含的原始代码示例可以在底部找到,这是一个选择不好的示例,因为它实际上是一个层次结构, 应提供在任意的“深度”级别的访问子成员,而且几乎没有任何关系组成,这就是我的意思是问一下。)
我敢肯定有这是一个术语,我只是无法想到它。坏代码
例子:
public interface IJumper
{
void Jump();
}
public class Creature
{
public IJumper Jumper;
}
var c = new Creature();
c.Jumper.Jump();
更好的代码例如:
public class Creature : IJumper
{
private IJumper _jumper;
public void Jump()
{
_jumper.Jump();
}
}
var c = new Creature();
c.Jump();
我敢肯定,我听说过这个(曝光成员对象直接使其所有的属性/方法都可以公开访问),这是由于[在这里插入原则名称]。我在找什么词?
(请注意,我不要求为什么这是/不是一件坏事,我只是寻找的期限,这对我的生活我不记得了。)
原件(坏)的代码示例:
public class Person
{
public Person Child;
// ...
}
Person p = new Person("Philip J. Fry");
// what is the term for this?
Person greatGrandchild = p.Child.Child.Child;
请保留原始示例以便原始答案有意义。 :-) – 2010-06-20 17:00:35
@Owen S:很好的电话。我已经添加了原始(不好)的代码示例,以便早期的答案仍然有意义。 – 2010-06-20 19:24:32