Việc thêm một phương thức (hoặc phương thức) mới vào API của bạn nên được thực hiện theo cách mà nó không có bất kỳ tác dụng phụ nào đối với API hiện có. Quan trọng nhất, ai đó tiếp tục sử dụng API cũ như thể API mới không tồn tại, sẽ không bị ảnh hưởng bởi nó. Sử dụng API cũ cũng không có tác dụng phụ không mong muốn đối với API mới.
Nếu bất kỳ phương thức hiện có nào trong API được thay thế bởi các phương thức mới, đừng loại bỏ chúng ngay lập tức. Đánh dấu chúng là không dùng nữa và đưa ra lời giải thích về những gì nên được sử dụng thay thế. Điều đó mang lại cho người dùng cảnh báo mã của bạn rằng các phiên bản trong tương lai có thể không còn hỗ trợ nó thay vì phá vỡ mã của họ mà không có cảnh báo.
Nếu các API mới và cũ không tương thích và không thể tồn tại cùng nhau mà không có tác dụng phụ không mong muốn, hãy tách chúng ra và ghi lại rằng nếu API mới được thông qua, API cũ phải được loại bỏ hoàn toàn. Điều này ít được mong muốn hơn vì sẽ luôn có ai đó cố gắng sử dụng cả hai và cảm thấy thất vọng khi nó không hoạt động.
Vì bạn đã hỏi về .NET một cách cụ thể, bạn có thể muốn đọc bài viết này về sự phản đối trong .NET, liên kết đến ObsoleteAttribute
(được sử dụng trong ví dụ sau):
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() { }
}