이것은 설계상의 문제입니다. 구현을 기대하지 않습니다.C++ 변수 값과 규칙을 적용 할 객체를 디자인하십시오.
다양한 유형의 여러 매개 변수와 해당 매개 변수를 테스트하는 (별도로 구성) 규칙을 사용하는 객체를 "올바르게"설계하면 매개 변수의 값이 관련된 테스트를 통과하는지 여부가 출력됩니다 그들과 함께?
"적절하게"가능한 한 효율적이어야하며 구성에 새로운 규칙을 추가하고 컴파일하지 않고 더 많은 매개 변수를 전달하기 만하면됩니다. 게다가, 나는 (나는 희망한다) 규칙 구성이 전달되는 매개 변수의 인덱스를 (현재 구현이하는 것처럼) 알고 멋지게 설계된 코드를 생성 할 것을 요구해서는 안된다.
감사합니다.
인터페이스의 기본 예제는 다음과 같은 것이다 :
구성 :
num_rules: 2
rule0:
parameter_index: 0
comparison_operator: gt
value: 12.3
rule1:
parameter_index: 1
comparison_operator: eq
value: 19
추천 개체 :
class RecoObj {
public:
RecoObj(char *configFilename);
bool recommend(float testParameter[]); // Returns true if all tests pass
...
}
이 몇 가지 문제를 가지고 내 현재 설정입니다. 모든 매개 변수가 부동 소수점이어야하고 규칙이 비교 대상인 testParameter 배열의 인덱스를 알고 있어야합니다 (즉 구성 작성자는 프로그래머가 해당 배열을로드하는 방법을 알고 있어야 함). 이 문제에 대한 더 나은 설계 솔루션이있는 것처럼 느껴집니다.
무슨 뜻인지 확실하지 않습니다. 원하는 인터페이스의 예를 들려 주시겠습니까? – Shoe
@Jefffrey - 모호한 점에 대해 사과드립니다. 나는 내가 현재하고있는 것을 개략적으로 보여주는 예제 인터페이스를 추가했다. 나는 정말로 이것을 다른 방식으로 모두 해결하는 해결책을 찾고있다. (아니면 이미 이미 닫혀 있는가?). –