0
다형성 개체 트리를 만드는 코드 (C#)가 있습니다. 유형에 따라 객체에는 0-7 개의 자식이있을 수 있습니다. 그래서 기본적으로 내가 나를 여기에 도움을 줄 수있는 패턴을 찾고,이 모두가 정말 세련 보인다개체 트리를 구성하는 패턴이 필요합니다.
// pseudocode
void BuildTree(Node root) {
if(root is A) {
root.a_data = ...
root.a_child = GenerateNewNode(some_constraints);
BuildTree(root.a_child)
} else if(root is B) {
// same stuff, for B. Note B may have different chldren, etc
}
}
: 바로 지금, 객체 '생성자는 아무것도하지 않고, 나는 재귀 도우미 함수를 사용하여 전체 개체 트리를 구성 . BuildTree 함수는 어떤 종류의 정책 인 것처럼 보이고 앞으로 다른 정책을 사용할 수 있기를 바랍니다.
아, 또 다른 복잡한 요소. BuildTree에는 이전 일에 조건부 인 것들이 있습니다. 예를 들어, B를 생성 한 적이 있다면 XYZ를 C 노드로해야합니다. 또는 현재 A의 자식을 생성 중이면 D를 생성하지 마십시오.
팩트 트리 패턴을 사용해 보셨습니까? 하하하. 죄송합니다. –