A클래스 객체에서 변경된 값을 B 클래스 객체에서 받고 싶습니다.
지금 제가 구현한 방법은 싱글턴 형태의 매니저 클래스 객체를 따로 만들어서,
매니저 객체에 값이나 주소를 저장한 다음 A,B 두 클래스 객체가 서로 참조하게 하여서 값을 받는 형태입니다.
아래와 같은 형태가 됩니다.
그런데 이런 방법말고, 더 좋은 방법이 있을듯 하여서 질문드립니다. 어떻게 하면 더 나은 방식으로 데이터를 주고 받을수 있을까요?
감사합니다.
저런식으로 만들면 단점이 여러개 있는데, 우선 전달해야 될 값이 하나 늘어나면 세개의 클래스를 손대야 된다는 것입니다. 특히 매니저 클래스가 흉할정도로 비대해지더군요.
두번째는 그런 사정을 모르는 사람이 본다면 대체 이게 뭐하는 짓인지 모를 가능성이 꽤 높아 보이는 것입니다. 그런 상황이라면 주석을 열심히 달아봐야 소용이 없을것 같네요...
...디자인 패턴쪽은 안하고 있었는데 시작해야겠군요.
문제의 핵심은 '데이터의 중복, 분산'이었습니다.
매니저 클래스에서 데이터를 전적으로 처리까지 하고, A, B는 철저하게 값참조만 가능하게 나눠버림으로써 훨씬 나은 개선이 되었습니다.
매니저 클래스의 비대화는 어쩔수 없지만, 이편이 보기도 좋고 수정하기도 편한것 같습니다.
이렇게 하신것도 일종의 아키텍쳐럴 모델입니다. 블랙보드 패턴이었나...
구현상 좀 더 의존성을 줄이시려면 옵저버패턴이나 pub-sub패턴을 가미하시는 것도 좋구요
옵저버 패턴을 좀 보시는 것도 도움이 될듯 하네요