내 응용 프로그램 "노드는"부모와 자녀가있는 트리 구조로 구성되어 있습니다 : E와 F는 아래 하위 동안노드간에 데이터 전달. 어떻게 그들을 깨끗하게 유지?
A---------B---------C---------D---------E
\---------F
A는 최고 조상입니다. 실행 흐름은 오름차순 측면에서 자손 측면으로 진행됩니다.
모든 단일 노드는 처리해야하는 특정 유형의 데이터를 허용합니다. 설계 결정에서 노드가 수신 할 수있는 데이터는 서로 분리되어 있습니다.
이제 노드 E와 F에 특정 유형의 데이터가 필요하지만 C 노드에서만 사용 가능하다고 가정 해 보겠습니다. 그래서 C 노드에서 E 노드와 F 노드까지 데이터를 전송하는 메커니즘이 필요합니다.
해결 방법 1 : 하위 노드가 조상 노드의 데이터에 액세스하도록 허용합니다. 그래서 나는이 데이터를 C 노드에 추가하고 E 노드와 F 노드에서 가져올 수 있습니다. 이 솔루션에 대해 내가 좋아하지 않는 것은 모든 중개 노드 (C 및 D 포함)에 실제로 필요하지 않은 일부 데이터가 포함된다는 것입니다. 나에게 그것은 미래에 응용 프로그램을 관리하는 데 문제가있는 것처럼 들립니다.
해결 방법 2 : C에서 데이터를 저장하는 데 사용할 수있는 임시 저장소 클래스를 도입하고 E 및 F 노드에서 데이터를 가져 와서 필요한 위치에 데이터를 가져옵니다. 이 솔루션은 나에게 다소 불투명하게 들리며 애플리케이션을 복잡하게 만든다.
그래서 나에게 어떤 솔루션을 제공하겠습니까? 아니면 볼 수없는 다른 솔루션입니까?
저는 소프트웨어 디자인을 처음 접했으므로 어떤 의견이나 제안도 환영합니다.
감사합니다.
코드를 명확하게 추가 할 수 있습니까? –
여기서 메시지 버스가 도움이되는 것을 볼 수 있습니다. –