Để tham khảo - http://en.wikipedia.org/wiki/Single_responsibility_principl
Tôi có một kịch bản thử nghiệm trong đó trong một mô-đun ứng dụng chịu trách nhiệm tạo các mục sổ cái. Có ba nhiệm vụ cơ bản có thể được thực hiện -
- Xem các mục sổ cái hiện có trong định dạng bảng.
- Tạo mục sổ cái mới bằng cách sử dụng nút tạo.
- Nhấp vào một mục sổ cái trong bảng (được đề cập trong con trỏ đầu tiên) và xem chi tiết của nó trong trang tiếp theo. Bạn có thể vô hiệu hóa một mục sổ cái trong trang này.
(Có thêm vài thao tác / xác nhận trong mỗi trang nhưng vì lý do ngắn gọn nên tôi sẽ giới hạn ở những trang này)
Vì vậy, tôi quyết định tạo ra ba lớp khác nhau -
- Sổ cái
- Tạo NewLedgerEntryPage
- ViewLedgerEntryPage
Các lớp này cung cấp các dịch vụ có thể được thực hiện trong các trang đó và các bài kiểm tra Selen sử dụng các lớp này để đưa ứng dụng đến trạng thái mà tôi có thể đưa ra khẳng định nhất định.
Khi tôi được nó xem xét lại với đồng nghiệp của mình thì anh ta đã quá khích và yêu cầu tôi làm một lớp duy nhất cho tất cả. Mặc dù tôi cảm thấy thiết kế của mình sạch sẽ nhưng tôi nghi ngờ nếu tôi lạm dụng nguyên tắc Trách nhiệm duy nhất