Nếu bạn nghĩ lại lý do tại sao OO được phát minh, bạn sẽ thấy rằng bạn hoàn toàn không cần OOP, nhưng đôi khi nó giúp cuộc sống của bạn dễ dàng hơn rất nhiều.
Quay trở lại thời kỳ mã hóa C, một chương trình rất lớn có thể trở nên khá lộn xộn và khó tiếp tục hoạt động. Vì vậy, họ đã phát minh ra cách chia nó thành các phần mô-đun. OOP sử dụng cách tiếp cận này và làm cho nó trở nên mô đun hơn, đặt dữ liệu với các đoạn logic chương trình đó để chúng thậm chí tách biệt hơn với phần còn lại của mã.
Điều này cho phép bạn viết các chương trình lớn hơn và lớn hơn, an toàn rằng bạn đã thay đổi một con voi khổng lồ của một nhiệm vụ thành một trăm nhiệm vụ cỡ chuột. Phần thưởng thêm vào là bạn có thể lấy một số 'chuột' này và tái sử dụng chúng trong các chương trình khác!
Tất nhiên, thế giới thực không hoàn toàn như vậy và việc tái sử dụng đối tượng không bao giờ hoàn toàn bị cuốn theo cách nó được dự định, nhưng điều đó không có nghĩa đó là một mô hình vô dụng.
Điều vô dụng là sự phụ thuộc quá mức vào một trong hai phong cách mã hóa. Bất cứ ai làm OO với hàng ngàn lớp học nhỏ, không đáng kể đều không thực sự đúng - họ đang tạo ra cơn ác mộng bảo trì cho chính họ (hoặc người khác). Bất cứ ai viết một ứng dụng thủ tục chỉ có 3 chức năng cũng khiến cuộc sống trở nên khó khăn. Cách tốt nhất là mặt đất trung gian, các vật thể lớn (đôi khi được gọi là các thành phần mà chúng ta sẽ tìm thấy một lần) có thể cung cấp một lượng lớn mã và dữ liệu độc lập có nhiều khả năng được sử dụng lại trong sự cô lập với phần còn lại của ứng dụng của bạn.
Lời khuyên của tôi cho lần tới: hãy thử viết mã thủ tục thông thường của bạn, nhưng tạo một đối tượng duy nhất trong cấu trúc dữ liệu chính của bạn. Xem cách bạn thấy rằng làm việc với nó dễ dàng hơn là truyền dữ liệu từ chức năng này sang chức năng khác.