2017-10-19 3 views
0

내가 제어하는 ​​장치의 수를 구성하기 위해 일련의 함수 호출을 원하는 시스템을 설계하고 있습니다.다른 계층의 함수 계층 구조가 동일한 데이터에 액세스해야합니까?

C(arg 1, arg 2) + D(arg 1, arg 2, arg 3)으로 전화하면

arg 1..3A에서 볼 수 있습니다. 그것은 있을까에 더 나은 :

  1. Barg 1..3에 액세스 할 수있는 것, B에 전달할 그들에게 자신을 찾아
  2. 어둠 속에서 B을 남겨 C + D또는 전화를 사용하고, A을 보자 단지 을 C + D에 전달 하시겠습니까?

내 직감은 내가 변수 그들에 간섭 기능의 최소를 가지고 원하는대로 옵션이 더 나은 것입니다.

인터랙 더 "논리"가 없습니다

  • 로직, 그들은 단지가 :

  • 답변

    0

    나는 두 가지 유형으로 코드를 분리하는 것을 선호 공동 작업자 (코드의 다른 부분에 대한 인스턴스 또는 함수 참조). 그들의 임무는이 공동 작업자에게 함수 호출을 조정하는 것입니다.

    논리는 논리 루프, ifs, 예외 처리, 필요에 따라 다르지만 공동 작업자가 없거나 최소로 유지합니다.

    예에서 A는 상호 작용자이고 B, C 및 D는 논리입니다. B, C 및 D를 호출합니다. A는 B (아마 arg 2와 3)의 결과를 C와 D로 전달합니다.

    이렇게하면 간단한 상태 기반으로 B, C 및 D를 철저히 테스트 할 수 있습니다 원하는 경우 모의 테스트를 통해 A를 테스트 할 수 있습니다. 나는 "원한다면"이라고 말했습니다. 왜냐하면 A는 대부분 선언적 코드이고 고립되어 테스트하는 것은 그리 값이 좋지 않습니다 (물론 시스템 전체가 거기 어딘가에 수락 테스트를한다고 가정).

    상태 기반 테스트 및 모의 테스트는 this answer을 참조하십시오.

    팁 : 대화 형 작업자의 공동 작업자는 대부분 논리이지만 다른 상호 작용자 일 수도 있습니다.

    관련 문제