Sửa đổi thiết kế có hai lớp độc lập — CustomerSearch và CustomerDataExporter. Lớp cũ được trao trách nhiệm tìm kiếm dữ liệu khách hàng. Trách nhiệm của xuất kết quả tìm kiếm được xử lý bởi các lớp học sau này bằng cách sử dụng hai phương pháp — ExportToCSV() và ExportToXML(). Bằng cách này, CustomerSearch và CustomerDataExporter mỗi có một và chỉ có một trách nhiệm. Nếu trong tương lai, bạn cần để xuất dữ liệu sang một số định dạng khác (nói, PDF), bạn sẽ cần phải thay đổi lớp CustomerDataExporter chỉ. Các lớp học CustomerSearch vẫn không bị ảnh hưởng bởi sự thay đổi này. Điều này cũng có nghĩa là chỉ CustomerDataExporter yêu cầu retesting (kể từ khi chỉ nó đã thay đổi). Bây giờ các lớp học CustomerSearch có một và chỉ một lý do để thay đổi-thay đổi trong việc tìm kiếm logic. Chỉ để làm cho sự hiểu biết của bạn về SRP rõ ràng, chúng ta hãy dịch các ví dụ trước vào một ứng dụng ASP.NET. Bạn sẽ sử dụng bảng khách Northwind cơ sở dữ liệu như là một nguồn dữ liệu khách hàng. Giao diện chính của ứng dụng được hiển thị trong hình 2-4.
đang được dịch, vui lòng đợi..