2016-09-04 3 views
0

У меня есть старый метод, который редко используется клиентами третьей части, что я хочу изменить его подписи (в основном переименование).Как изменить подпись открытого метода и каковы риски?

Как мне это сделать? каковы риски? Есть ли реальные преимущества?

Простой пример:

Class Program 
{ 
    public void OldMethodName(var oldVarName) 
    { 
     //Do something 
    } 
} 

Изменения в

Class Program  
{ 
    public void NewMethodName(var newVarName) 
    { 
     //Do the same thing 
    } 
} 
+0

Пожалуйста, добавьте больше контекста. Что вы хотите изменить? Добавьте пример. – Steve

+0

@Steve Я добавил простой пример. – Dolev

ответ

2

Когда API в общественном использовании, вы должны реорганизовать его в два этапа:

  • выпустить версию с обоими API доступны - эта версия API должна сделать новые методы доступными, и обесценивать старые методы. Это даст вашим клиентам время для миграции.
  • После периода ожидания отпустите версию с устаревшими методами удален - по возможности скопируйте этот выпуск с вашими клиентами, чтобы убедиться, что они перенесли использование новых методов.

См. this Q&A для получения информации о том, как отказаться от методов.

Нет никаких преимуществ для изменения подписей публичных методов, кроме фиксации текущих или потенциальных коллизий имен.