2013-02-17 2 views
1

내 Robotlegs 앱 서비스 결과에서 종종 모델에 유지되어야합니다. 이벤트 중복

  • 내가이 이름을하는 방법 궁금하네요 중재자로 모델의 데이터를 수행하기 위해,

    1. 명령에 대한 서비스에서 데이터를 수행하는이 동일한 페이로드 유형이 이벤트 쌍을 생성 이벤트.

      BarModel.setProducts() 
      BarModel.getProducts() 
      

      서비스는 제품 모음을 검색 한 후에서 전달한 이벤트의 이름을하는 가장 좋은 방법은 무엇입니까 :

      FooService.getProducts() 
      

      그런 다음 나는 모델을 가지고 : 나는 서비스가 상상?

      모델에 의해 전달 된 이벤트의 이름을 지정하는 가장 좋은 방법은 BarModel.setProducts()이 호출 된 것입니까?

      아니면 나는 두 가지 종류로 하나의 이벤트를 사용해야합니다 : 서비스가 자주 실패하는 경향이 외부 자원과의 접촉을하기 때문에, 내가 이벤트/성공 또는 실패를 나타내는 신호를 같은 서비스와

      public class ProductEvent extends Event 
      { 
          public const SERVICE_PRODUCT_CHANGE:String = 'serviceProductChange'; 
          public const MODEL_PRODUCT_CHANGE:String = 'modelProductChange'; 
          ... 
      
    +0

    신호를 사용하지 않는 이유가 있습니까? https://github.com/robertpenner/as3-signals – ThanksBro

    +0

    동일한 질문이 신호에도 적용됩니까? SignalMap을 사용하면 Signal 클래스를 확장하고 FooServiceSignal 및 BarModelSignal을 만들어야합니까? – hidarikani

    +1

    신호를 사용하여 BarServiceProductChanged 및 BarModelProductChanged 또는 신호 접미사와 동일하게 부릅니다. 이름을 짓는 데있어 가장 중요한 것은 물건의 이름을 지정하는 것과 같은 방식으로 따라 잡는 것입니다. 팀에서 작업을 시작할 때 이름 지정에 동의하게됩니다. 예를 들어, 모든 신호에 Signal 접미사를 사용 했었지만 그룹 프로젝트에서는 신호에만 접미사를 사용하지 않고 명령에 대해서만 사용합니다. 모든 코드에서 동일한 방식으로 유지하십시오. – ThanksBro

    답변

    0

    내 질문에 대한 답변을 제공하는 고유 한 이름 지정 체계를 만들었습니다.

    모든

    먼저, 가장 많이 이벤트는 배우들 사이에 데이터를 전달하는 데 사용됩니다

    둘째

    • 서비스> 모델
    • 모델> 중재자
    • 중재자> 모델, 다양한 이벤트 다른 데이터 유형을 나른다. 셋째, 동일한 데이터는 종종 service> model> mediator의 두 번 전달되어야합니다.

      이를 바탕으로

      나는이처럼 내 이벤트의 이름을하기로 결정했습니다 : class이 이벤트를 전달하고 payload 클래스의 이름입니다

      <class>Event_<payload> 
      

      는 변경된 공공 재산의 이름입니다. 예를 들면 :

      • ProductServiceEvent_products
      • ProductModelEvent_products
      • ProductViewEvent_products

      각 이벤트는 CHANGE라는 하나 개의 유형이 있습니다.

    0

    여러 가지 이유로.

    MyServiceLoadSuccess 및 서비스가 조용히 성공의 아이디어는 서비스에 대한 의미가 실패하더라도

    MyServiceLoadFailure, 나는 생각한다.

    모델을 사용하면 데이터를 변환하는 방법을 알아야하는 경향이 있지만 실제로는 실패 할 수도 있지만 실제로는 의사 결정을 내리고보기 또는 다른 모델의 데이터를 준비하고 종종 업데이트를 보내는 경우가 있습니다.

    MyModelUpdate

    물론 특정 상황이 선택한 의미하는 것이 중요하지만 내가 상황의 모든 종류의 도움이 일반적으로 적용 발견 한 패턴입니다.