MATH 클래스를 만들고 두 개의 숫자를 처리하는 메서드를 제공해야한다고 가정 해 봅시다. [모 놀리 식 메서드 - 단점
각 가능한 조작에 대해 메소드가있는 전통적인 메커니즘을 제공하는 대신 하나의 메소드 eval : float eval(ArgObj);
을 제공합니다. 여기서 ArgObj
은 두 개의 숫자와 연산자를 보유 할 수있는 오브젝트입니다. 따라서 이제는 단일 메서드로 여러 작업을 수행 할 수 있습니다.
이 디자인의 단점은 무엇입니까?
eval이 더 많은 작업을 처리 할 수있게되면서 유지 보수 및 문서화가 두 가지 단점이 있습니다.
내가 여기에서 놓치고있는 다른 단점은 무엇입니까?
업데이트 : 위의 예는 단지 가상 내가 알아낼 큰 모 놀리 식 방법의 네거티브 있습니다 것을 시도하고있다 다른 유사한 예로들 수
float doSomething(int basedOn)
같은 방법 해봐요은 할 수있는 작업 무리.
* ArgObj * 실제로 무엇이 주조하고 식별하는 것은 확실히 큰 문제가 될 것입니다. 과부하는 어떨까요? –
@PiotrJustyna True, 그냥 질문을 업데이 트, 첫 번째 예제와 함께 귀하의 요점은 매우 유효합니다. –