2012-01-28 3 views
1

나는 현재 작업하고있는 문제의 분석에 어려움을 겪고 있습니다. 나는 청소가 예정되어있는 청소용 응용 프로그램을 다루고, 그 다음에 일부 기업에서 처리하고 마침내 건물 소유주가 제어하는 ​​청소용 응용 프로그램을 다루고 있습니다.각 상태에 대해 하나의 명령 또는 모두를 명령하는 명령

작업이
  • 이 작업이 완전히 우리의 잘못을 수행하지 않은 (STARTDATE, 종료 날짜) 이루어졌다
    • (: 기업이 그 부분을했다

      , 그것은 하나 말하는 응용 프로그램에 명령을 전송해야 코멘트)
    • 작업이 수행되지 않았습니다하지만 이들 각각은 서로 다른 정보를 사용할 수 있습니다 소유자 (ReasonId)

    의 잘못입니다. 그래서 하나만 가지고 상태를 추가하는 대신 3 가지 다른 명령을 사용하여 모델을 작성하려고합니다.

    기업이 수행 할 수있는 3 가지 주요 청소 유형이 있기 때문에 복잡성은 한 단계 더 높습니다. 이러한 명령에 추가 할 작업이 다를 수 있습니다 (예 : 청소할 자리 수, 또는 지역 및 설명).

    이렇게하면 처리 할 수있는 9 가지 사례가 생깁니다. 나는이 모든 것을 분리하는 것이 올바른 방법이라는 것을 느낍니다. 왜냐하면 미래에 더 많은 유연성을 가능하게하기 때문입니다.

    하지만 바로이 3 가지 일이 있다고 생각하고, 그들은 안 하나의 큰 명령과 같은 :

    • 나는 우리가 (StateOfWork, STARTDATE, 종료 날짜, 코멘트, ReasonId, NbSeat을 무엇을했는지 말해 , AreaQuantity, AreaDescription는 ...)

    는 꽤 너무 많은 일을 다루고 있기 때문에 반 전체 개체를 가지고있는 생각을 좋아하지 않아 ..

    당신의 독서에 대한 감사 의견을,

  • 답변

    5

    분리 된 접근법에 대한 좋은 사례를 만들었습니다. 우려를 분리하는 것이 좋은 원칙입니다.

    각 명령의 의미가 다른 경우 다른 개체로 모델링해야합니다.

    각 상태 변경을 다른 개체로 모델링하면 이벤트 로그가 필요하고 필요한 경우 event sourcing이됩니다.

    적어도 8 개의 매개 변수가있는 메소드는 코드 냄새입니다. 이는 메소드가 너무 많아서 유지 관리가 매우 복잡하고 어려울 것이라고 말합니다.

    +0

    고마워요. 귀하의 답변은 대단히 감사하겠습니다. – Arthis

    관련 문제