Додавання нового методу (або методів) до вашого API слід робити таким чином, щоб він не мав побічних ефектів на існуючий API. Найголовніше, щоб хтось, хто продовжує використовувати старий API так, ніби новий API не існує, на нього не повинен впливати. Використання старого API також не повинно мати несподіваних побічних ефектів для нового API.
Якщо будь-який із існуючих методів в API заміщений новими, не видаляйте їх відразу. Позначте їх як застарілі та надайте пояснення щодо того, що слід використовувати замість цього. Це дає користувачам вашого коду попередження про те, що майбутні версії можуть більше не підтримувати його, а не порушувати код без попередження.
Якщо нові та старі API не сумісні та не можуть жити разом без небажаних побічних ефектів, відокремте їх та задокументуйте, що якщо новий API повинен бути прийнятий, старий API повинен бути повністю вилучений. Це менш бажано, оскільки завжди знайдеться хтось, хто намагається використати і те, і засмучується, коли це не працює.
Оскільки ви запитували саме про .NET, можливо, ви захочете прочитати цю статтю про припинення роботи в .NET, яка посилається на ObsoleteAttribute
(використовується в наступному прикладі):
using System;
public sealed class App {
static void Main() {
// The line below causes the compiler to issue a warning:
// 'App.SomeDeprecatedMethod()' is obsolete: 'Do not call this method.'
SomeDeprecatedMethod();
}
// The method below is marked with the ObsoleteAttribute.
// Any code that attempts to call this method will get a warning.
[Obsolete("Do not call this method.")]
private static void SomeDeprecatedMethod() { }
}