나는 시간 그래프에서 나타낼 포인트 (차 정류장)가있다. 이 포인트는 라인별로 연결됩니다. 점 + 선은 그래프 (즉, 자동차 일정)를 나타냅니다. CarStops를 마우스로 제 시간에 움직여 그래프를 수정할 수 있습니다.BO와 GUI 간의 링크가 끊어졌습니다. 무엇을해야합니까?
지점 및 선을 컨트롤로 구현하기로 결정했습니다 (패널에서 이동하기가 더 쉽다고 생각했습니다).
두 개의 비즈니스 오브젝트 계층 (Real BO (CarStop
) 및 GUI 제어 (CarStopControl
))이 있습니다. 다음과 같이 연결합니다. CarStop
(시간, 스테이션) ~ CarStopControl
(X, Y) - CarStopControl은 CarStop.Moved 이벤트를 구독합니다.
마지막으로 Car
개체의 값은 CarStop
입니다.
- 컨트롤을 어떻게 이동합니까? 간단히 : 패널에서 마우스를 움직여
dX
,dX
을dTime
Car.Move(dTime)
으로 변환하면 모든 CarStops가 이동합니다.CarStop
이 이동하면CarStopControl
으로 이벤트를 보내고 후자는 좌표를 변경합니다. 이런 식으로CarStopControl
마우스 움직임을 따르는 것 같습니다.
이것은 모두입니다. CarStopControl
와 CarStop
사이의 링크 분명히, 자동차 BO Car
및 CarStop
상관도도에 대한 CarStopControl
의를 모르는 쓸모가되었다 - Car.Move
에 CarStop
수집을 다시 할 필요가있을 때
문제 등장.
Car
자체를 new Car
으로 바꿀 수있는 유사한 상황이 있습니다.
누군가 비슷한 상황이 있었나요? 거기에 +의 "해결 방법"이 -이 문제를 신속하게 해결?
감사합니다.
는의 대신 내가 myCarStopProxy을 도입 CarStopControl에 myCarStop의 가정 해 봅시다 ICarStop을 구현합니다. 이제 나는 CarStop을 조정한다. CarStopProxy는 어떻게 알 수 있습니까? BO 또는 GUI 레이어에서 프록시는 어디에 만들어야합니까? – serhio
ID가 내 차에 있습니다. 차가 데이터베이스에서 가져옵니다. 자, 중재자, carStopProxy와 같이, 어디서 만들어 지는지. 이제는 carStop 재설정에 대한 정보를 얻었습니다. – serhio
@serhio 코드 예제를 추가했습니다. –