하나 이상의 요구 사항이있을 때까지 클래스 메서드가 실행되지 않도록하는 디자인 패턴이 있습니까?하나 이상의 요구 사항이있을 때까지 클래스 메서드가 실행되지 않도록하는 디자인 패턴이 있습니까?
예를 들어 자동차 일 수도 있고 자동차를 시동하려면 가솔린, 점화 키가 필요하며 열쇠를 돌릴 수 있습니다.
의존성 요구 사항 (및 필요한 순서화) 문제를 해결하려면 어떻게해야하고 점화는 키가 없으면 시작되지 않으며 키가 삽입되지 않으면 키가 돌아 가지 않습니다.
는 여기에 내가 두 함정을 알고 두 가지 방법이 있습니다 : -
void startCar()
if checkPetrol()
if checkKeyIn()
if checkKeyTurn()
startEngine()
도 가능하지만 그것뿐만 아니라 검사를 많이 필요로하는 스위치 문을 사용하여
.어떻게 해결할 수 있습니까?
당신은 [주 패턴] 보라 (http://en.wikipedia.org/ : 나는 적절한 예외 처리와 함께 (만
startCar()
이 공공입니다) Facade design pattern와 결합 같은 것을 생각하고 wiki/State_pattern). –상태 패턴이 적합하지 않습니다. 열쇠를 돌릴 필요가 없습니다. 모든 조건이 충족되어야하므로 복합 술어가 더 나을 것입니다. – Basilevs