데이터를보다 효율적으로 처리 할 방법을 생각 중입니다. 내가 그것을 설명하자최적화를위한 데이터 구조
현재는, 클래스가, Rules
라고, 그것은 Rules::isForwardEligible()
, Rules::isCurrentNumberEligible()
.... 그래서이 기능은 특정 상황을 확인하는 데 사용됩니다 (다른 프로세스 호출과 같은 멤버 함수를 많이 가지고 그들 모두)은 bool 값을 반환합니다.
이 함수의 본문에는 if
이 있습니다. DB를 쿼리하여 데이터를 비교하고, 마지막으로 turn 또는 false를 반환합니다.
그래서 모든 게 같다 --->if(xxxx)
(또 다른 기능, 쿼리 DB 될 것 xxxx는) 내가 이런 종류의 방법은 좋지 않다라고 생각합니다 --->Rules::isCurrentNumberEligible()
콘텐츠를 확인합니다. 나는 그것을 향상시키고 싶다.
내가 상상하는 것은 코드를 적게 사용하지만 정보를 더 많이 쿼리하는 것입니다.
첫 번째 단계 에서 쿼리 할 수 있으므로 다른 테이블을 쿼리 용으로 설정할 수 있으므로 if(xxx){if(xx){if(xx)....}}
과 같은 것들은 적습니다. 솔루션은 코디네이터와 같은 역할을하는 클래스를 작성하고 매번 다른 쿼리를 요청합니다. 적합한가요?
나는 이것을 제어하는 좋은 방법인지 확신 할 수 없거나 좋은 해결책을 제쳐두고 있습니다. 제발 도와주세요, 고마워요!
당신은'if' 문수를 줄이기 위해 비트 마스크를 사용할 수 있습니다. 모든 쿼리를 하나의 비트 마스크로 병합 할 수 있습니다. 비트 마스크는 비트별로 검사하거나 미리 정의 된 값과 비교할 수 있습니다. 수업에 넣는 것이 어렵지 않을 것입니다. –
[Guard Clause] (http://www.refactoring.com/catalog/replaceNestedConditionalWithGuardClauses.html)도 도움이 될 것 같습니다. – timrau
네,하지만 이건 이전과 거의 같습니다. 데이터베이스 나 코디네이터를 사용하여 처리하고 싶습니다. –