Tôi đang đọc C # Design Design Essentials . Tôi hiện đang đọc về mẫu lặp.
Tôi hoàn toàn hiểu cách thực hiện, nhưng tôi không hiểu tầm quan trọng hoặc thấy trường hợp sử dụng. Trong cuốn sách, một ví dụ được đưa ra khi ai đó cần lấy danh sách các đối tượng. Họ có thể đã làm điều này bằng cách phơi bày một tài sản công cộng, chẳng hạn như IList<T>hoặc một Array.
Cuốn sách viết
Vấn đề với điều này là sự đại diện nội bộ trong cả hai lớp này đã được tiếp xúc với các dự án bên ngoài.
Đại diện nội bộ là gì? Thực tế đó là một arrayhay IList<T>? Tôi thực sự không hiểu tại sao đây là một điều tồi tệ cho người tiêu dùng (lập trình viên gọi đây) để biết ...
Cuốn sách sau đó nói rằng mô hình này hoạt động bằng cách phơi bày GetEnumeratorchức năng của nó , vì vậy chúng ta có thể gọi GetEnumerator()và hiển thị 'danh sách' theo cách này.
Tôi cho rằng mô hình này có một vị trí (giống như tất cả) trong một số tình huống nhất định, nhưng tôi không thấy được ở đâu và khi nào.
Fmà mang lại cho tôi những kiến thức (phương pháp) của a, bvà c. Tất cả đều tốt và tốt, có thể có nhiều điều khác biệt nhưng chỉ Fvới tôi. Hãy nghĩ về phương thức này là "các ràng buộc" hoặc các điều khoản của hợp đồng Fcam kết các lớp thực hiện. Giả sử rằng chúng ta thêm một dmặc dù, bởi vì chúng ta cần nó. Điều này thêm một ràng buộc bổ sung, mỗi lần chúng tôi làm điều này, chúng tôi áp đặt ngày càng nhiều hơn cho Fs. Cuối cùng (trường hợp xấu nhất) chỉ có một điều có thể là Fvì vậy chúng tôi cũng có thể không có nó. Và Fràng buộc rất nhiều chỉ có một cách để làm điều đó.