감안할 때 웹 서비스 방법 : 리팩토링그런 종류의 리팩토링에 어떤 감각이 있습니까?
public void FindSomeEntities(int? Id, string param1, int? param2, ...)
:
public void FindSomeEntities(SelectionParameters selectionParameters)
class SelectionParameters
{
public int? Id;
public string param1;
public int? param2
...
}
는 장점 : 원래 웹 서비스 메서드에서
- 너무 많은 매개 변수는 하나의
- 경우 감소가 변경할 필요가 있습니다. 인터페이스를 변경할 필요가 없습니다. 방법의 전자 - SelectionParameters의 정의는
단점 :
- 클래스 SelectionParameters는 비즈니스 가치 못한 - 그것은 단지 도우미 클래스 등을 사용되는 그것은 하나의 방법으로 사용됩니다. 결과적으로 우리는 에 1 개의 매개 변수와 많은 일회용 클래스가있는 많은 메소드를 갖게 될 것입니다.
- 사실 인터페이스가 변경되었으므로이 변경 사항을 약간 더 푸십시오. .
나는 리팩토링을 피하고 싶지만, ** 미래에 맨틀에 고통스러워 할 것이다.웹 서비스의 경우 imho는 더 간단하고 (int, string ...) 매개 변수는 덜 복잡한 (사용자 정의 "컨테이너"클래스) 매개 변수보다 낫습니다. – Alex
그래서 나는이 질문을했다. 나에게는이 일에 대한 감각이 없기 때문에 나는 동료를 설득하려고 노력했다. – Dima