렌더링 시스템, 물리 시뮬레이션 및 UI라는 세 가지 구성 요소가 있습니다. UI 코드는 스크립트로 작성되며 신뢰할 수 없습니다. 이제 물리 시뮬레이션의 결과를 렌더링 시스템에 전달하고 정확한 디자인을 확신 할 필요가 있습니다. 예를 들어, 모든 틱마다 렌더러에 새 sim 데이터를 복사 할 수 있습니다. 그러나 이것은 약간의 낭비처럼 보입니다. 시뮬레이션의 데이터를 직접 처리하도록 렌더러를 설정할 수 있지만 이것이 캡슐화를 위반하는 것처럼 보입니다.캡슐화 된 두 구성 요소 간의 통신
잠재적으로 수천 개의 움직이는 유닛과 작업하기 위해이 시스템을 사용하려고합니다. 따라서 성능을 염두에 두는 것이 좋습니다.
캡슐화를 위반하지 않고 한 구성 요소에서 다른 구성 요소로 데이터를 신속하게 이동할 수 있습니까?
데이터를 const로 표시 할 수 없습니까? 'sim.cdata()'또는 이와 비슷한 것? – 111111
다음 작업을 수행해보십시오 : sim 데이터에 (다소간) 안정적인 인터페이스를 정의하고 렌더러가 인터페이스 만 가져 오도록 만드시겠습니까? 시뮬레이션의 구현 세부 사항은이 방법으로 숨길 것입니다. 맞습니까? – Vlad
@Vlad : 물론. 그건 전체 캡슐화가 아니라 부분 캡슐화 일 뿐이에요. 답으로 게시하는 것을 고려하십시오. – Puppy