2017-12-14 30 views
0

서비스에 의해 반환 된 개체 또는 복제 할시기에 대한 모든 각도 규칙/모범 사례가 있습니까? (: 객체 속성 변경 전에 제출 될 수 있습니다 객체 참조를 사용하는 템플릿 기반 양식 예) 당신이 그들을 복제 할 때 당신은 당신의 개체를 복제해야각도 데이터 객체를 언제 복제합니까?

답변

1

모든 구성 요소에 동일한 데이터 객체 참조를 공유

예기치 않은 동작이 발생할 수 있습니다.

상태없는 서비스를 사용하는 것이 좋습니다. 즉, 작업을 수행해야하지만 변수가 없어야합니다. 즉, 어디서나 동일한 참조가 없다는 뜻입니다.

당연히 statefull 서비스 또는 두 가지가있을 수 있지만, 내가 의미하는 바는 그 중 하나 하나가 아닙니다.

또한 http 호출을 할 때 가져온 개체에 대한 동일한 참조를 사용하지 않습니다. 호출 할 때마다 새 개체를 만듭니다.

질문에 답변이 되었습니까?

+0

은 상태가없는 서비스가있어 막대한 코드 변경이 필요할 수 있습니다. 내 서비스는 모두 스테이트 풀입니다. 이것은 각 서비스가 성능을 위해 캐시 된 데이터 객체의 배열을 유지해야하기 때문입니다. – user2080105

+0

글쎄, 당신은 물었다. P 로컬/세션 저장소에 데이터를 캐싱하거나 단지 몇 가지 서비스로만 데이터를 수집 할 수있다. 그러나 서비스가 캐시 된 데이터를 유지해야하는 경우 개체를 복제하면 안됩니다. 사용자가 데이터에 대해 여러 값을 처리하기를 원하지 않기 때문에 귀하가 직접 귀하의 질문에 답변했다고 생각합니다. – trichetriche

0

모두는 이미 구형 일 수있는 일부 데이터를 서버에 제출할 수 있는지에 따라 달라집니다.

예 :

당신은 경매 사이트에서 상품에 입찰하려고, 마지막 입찰 $ (5)이었다. 그래서 6 달러를 제출하려고합니다. 그러나 제출을 클릭하기 전에 누군가가 이미 7 달러를 입찰합니다.

위의 예에서 입찰가가 낮 으면 제출 버튼을 사용할 수 없으면 서버 &의 마지막 입찰가와 비교하여 입찰가를 설정하는 것이 좋습니다. (복제가 아님)

그렇지 않으면 제출이 경매 사이트를 방문하여 코드/양식에서 처리해야하는 오류로 반송됩니다. 서버에 보낼 필요가없는 요청. (복제)

지속적으로 양식을 업데이트하는 것보다 오류를 처리하는 것이 더 쉬울 수도 있습니다. 그러나 현재 입찰가를 실시간으로 업데이트하면 사용자 환경이 개선됩니다.

요약하면 데이터를 복제하면 상태가 동기화되지 않을 수 있습니다. 예를 들어 데이터를 그대로 사용할 수없고 추가 조작이 필요한 경우와 같이 데이터 복제를위한 유스 케이스가 있습니다.