개체 데이터 공유에 대한 몇 가지 생각이 있습니다.개체간에 데이터 공유, 바인딩 속성
- 이 P1, P2 속성 클래스 C을 정의 할 수 있습니다 (불변이라고 생각 할 수 있습니다).
- 는 클래스 C의 일부 개체 X 및 Y을 가지고 있습니다.
- 속성 GP1을 가지고 클래스 C. 은 "용기"G의 개체에 대한 G"컨테이너"의 일종을 만들 수 있습니다.
- 오브젝트 X에 "컨테이너"G 및G.gp1 값 "바인딩"X.p1를 추가 할 수 있습니다. (바인딩 객체 X 시도 재산 P1의 값을 얻을 때 GP1의 값을 가져옵니다 말할 않습니다.)
- 가의 컨테이너 G와 "바인딩"Y.p1에 반대 Y를 추가하자 G.gp1 값.
당신은 인간에 대한 단순한 종류의 것이라고 생각할 수 있습니다.
내가 생각하는 유일한 아이디어는 p1, p2 속성 액세스에 대한 인터페이스를 만드는 것입니다. 그런 다음 클래스 C (공유 데이터 없음) 및 클래스 GC (컨테이너 데이터 포함)에 인터페이스를 구현하십시오. 그런 다음 객체를 장식하여 메서드를 추가합니다.
각 바인딩에서 볼 수 있듯이 인터페이스 + 인터페이스 구현을 추가합니다. Thats 많이 쓰고 추한.
질문 : 모든 개체에 대해 이러한 종류의 바인딩 작업을 만드는 방법은 무엇입니까? (DSL을 구현하지 않고 C에서 파생 된 langauges : java, C#, C++, PHP 등)
것을 당신은 HTTP에 관심이있을 수 있습니다하십시오 : // EN .wikipedia.org/wiki/Law_of_Demeter –
링크를 가져 주셔서 감사합니다. – user1759572
클래스에 필드를 갖고 다른 클래스의 다른 필드를 getter로 반환하는 의미는 무엇입니까? 그것은 매우 위험한 공사입니다. – Gangnus