하위 항목 목록이있는 클래스가 있습니다. 자식에서 부모 인스턴스에 액세스 할 수 있도록이 클래스에 적용 할 수있는 디자인 패턴이 있습니까? 여러 부모에게 자식을 추가 할 수없는 등의 규칙이 적용됩니다.상위 하위 클래스 관계 디자인 패턴
3
A
답변
2
복합 디자인 패턴을 시도해보십시오
http://www.dofactory.com/Patterns/PatternComposite.aspx
이를 사용하려면 다시 모습 부모를 나무 위로 이동하려면 몇 가지 코드를 추가해야합니다,하지만 그 이외의 작동해야합니다.
트리에 추가 될 때 상위 요소에 대한 참조를 보유하는 속성을 추가하기 만하면됩니다. 부모가 변경되면 업데이트하고, 노드가 제거되면 null로 설정하십시오.
0
예를 들어 모든 언어의 계층 적 사전을 사용하여 복합 디자인 패턴을 사용하여 상위 (패널) 하위 (버튼) 관계를 구현할 수 있습니다. 여기 샘플 파이썬 코드입니다.
패널 = DictObject ('패널') 버튼 = window.addChild ('버튼을') 텍스트 필드 = button.addChild ('텍스트') 아마 이런
1
뭔가?
public class Parent
{
public Parent()
{
_children = new List<Child>();
}
private IList<Child> _children;
public IEnumerable<Child> Children
{
get
{
return _children;
}
}
public void Add(Child child)
{
if (_children.Contains(child)) return;
if (child.Parent != null && child.Parent !=this) throw new Exception ("bla bla bla");
_children.Add(child);
child.Parent = this;
}
public void Remove (Child child)
{
child.Parent = null;
_children.Remove(child)
{
}
public class Child
{
public Parent Parent
{
get { return _parent;}
protected internal set { _parent = value;}
}
관련 문제
- 1. 도메인 기반 디자인 - 상위 하위 관계 패턴 - 사양 패턴
- 2. 외관 디자인 패턴 및 하위 클래스 구성
- 3. 레일 : 디자인 패턴 저장 관계
- 4. 상위 프로세스 및 하위 프로세스 관계
- 5. 하위 클래스, 상위 클래스 ... ... 변수 충돌?
- 6. 클래스/메소드의 다른 구현을 사용하기위한 디자인 패턴
- 7. 직렬화를위한 클래스 디자인 - 아이디어 또는 패턴?
- 8. EER : 수퍼 클래스/하위 클래스 엔티티 관계, 기본 키 매핑
- 9. 디자인 패턴 - 전략 패턴
- 10. nhibernate와의 양방향 관계 패턴
- 11. Android의 활동을 확장하기위한 디자인 패턴?
- 12. 디자인 패턴 조언
- 13. 상위 및 하위 클래스 계층 구조
- 14. 상위 생성자 앞에서 하위 클래스 생성자 호출
- 15. 하위 클래스의 nhibernate 참조 상위 클래스
- 16. 디자인 패턴
- 17. 옵션 기능을위한 디자인 패턴?
- 18. 싱글 톤 디자인 패턴
- 19. 디자인 패턴 및 UML
- 20. OCaml의 중재자 디자인 패턴
- 21. 래퍼 디자인 패턴
- 22. 어떤 디자인 패턴/RTTI
- 23. PHP 클래스 디자인
- 24. 디자인 레이아웃/패턴
- 25. 외관 디자인 패턴
- 26. 제품 디자인 패턴
- 27. asp.net의 제공자 디자인 패턴
- 28. Java EE 6 디자인 패턴
- 29. 상위 클래스가 하위 클래스를 참조해야합니까?
- 30. 리포지토리 디자인 패턴 및 데코레이터 디자인 패턴 사용