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