많은 파트너가 사용하는 몇 가지 webservices (.net 2.0/C#)가 있습니다. 그들 중 하나는 다른 매개 변수를 보낼 수 있기를 원합니다.웹 서비스에 매개 변수를 추가하는 것이 유해 할 수 있습니까?
메서드에 대한 매개 변수를 사용할 수 있으며 다른 파트너가 우리에게 전화하는 데 사용하는 기술에 영향을주지 않을 수 있습니까?
감사합니다.
많은 파트너가 사용하는 몇 가지 webservices (.net 2.0/C#)가 있습니다. 그들 중 하나는 다른 매개 변수를 보낼 수 있기를 원합니다.웹 서비스에 매개 변수를 추가하는 것이 유해 할 수 있습니까?
메서드에 대한 매개 변수를 사용할 수 있으며 다른 파트너가 우리에게 전화하는 데 사용하는 기술에 영향을주지 않을 수 있습니까?
감사합니다.
DTO를 전달하는 경우 문제없이 nullable 인 새 속성을 추가 할 수 있습니다.
어렵지 않다면 같은 이름의 두 가지 방법을 사용할 수 없다고 생각합니다. 이 파트너에 대해 다른 방법을 만들 수 있습니다.
메서드 서명을 변경하면 호출을 적절하게 변경해야합니다. 더 좋은 방법은 새 매개 변수에 두 번째 메서드 시그니처를 포함시키고 원래 메서드가 새 메서드를 호출하도록 코드를 백그라운드에서 변경하는 것입니다. 이때 새 매개 변수의 기본값을 선택할 수 있습니다. 이렇게하면 모든 고객과의 호환성이 보장됩니다.
그래, 솔리드 원칙은 웹 서비스에도 적용되어야합니다. "http://en.wikipedia.org/wiki/Solid_(Object_Oriented_Design)?" – bzlm
내 문제는 여기에 이미 3 가지 다른 메서드 (MyMethodWithParameter1, MyMethodWithParameter2 등 ...)를 만들었고 메서드 목록을 간단하게 유지하려고합니다. 솔리드 원칙에 절대적으로 동의하지만 다양한 기술을 가진 개발자를 다룰 때는 간단한 작업을해야합니다. –
매개 변수를 계속 변경해야하는 경우 XML을 입력으로 사용하는 메서드를 만드는 것이 좋습니다. 그러면 메서드 시그니처를 변경하지 않고 변경할 수 있습니다. 백그라운드의 코드는 XML이 제공하는 모든 것을 처리 할 수 있습니다. – Paddy