CodeGym /Khóa học Java /Mô-đun 2: Lõi Java /Tại sao chúng ta cần OOP?

Tại sao chúng ta cần OOP?

Mô-đun 2: Lõi Java
Mức độ , Bài học
Có sẵn

"Xin chào, Amigo! Tôi muốn bạn hiểu mục đích của OOP. Vì vậy, tôi sẽ kể cho bạn nghe một câu chuyện."

Ngày xưa có một công ty nhỏ vận chuyển hàng hóa ra ngoài vũ trụ…

"Giống như Galactic Rush?"

"Vâng, giống như Galactic Rush. Có 5 người làm việc ở đó. Người thứ nhất xử lý tài chính, người thứ hai phụ trách kho hàng, người thứ ba phụ trách vận chuyển, người thứ tư phụ trách quảng cáo và người thứ năm giám sát tất cả."

Họ đã làm việc chăm chỉ và phát triển mạnh mẽ. Công ty đã có một danh tiếng tốt và kiếm được rất nhiều tiền. Mỗi năm số lượng đơn đặt hàng tăng lên, vì vậy CEO phải thuê thêm nhân viên. Một số cho nhà kho, một số để vận chuyển, một nhân viên thu ngân khác và một nhà tiếp thị để tăng doanh số bán hàng.

Đây là khi các vấn đề bắt đầu. Có nhiều nhân viên hơn, và họ bắt đầu can thiệp lẫn nhau .

Nhà tiếp thị đã chi hết tiền cho một chiến dịch quảng cáo mới, không còn tiền mặt để mua những hàng hóa được cho là sẽ được vận chuyển gấp.

Nhà kho có 10 hộp ổ đĩa siêu tốc mới toanh được vận chuyển mỗi tháng một lần. Một người chuyển phát nhanh đã bỏ đi với một siêu ổ đĩa, khiến đơn đặt hàng 10 siêu ổ đĩa của một khách hàng khác bị trì hoãn thêm một tháng nữa. Đơn giản là người chuyển phát nhanh đầu tiên không biết về đơn đặt hàng khác được thực hiện bởi người chuyển phát nhanh thứ hai.

Trợ lý giám đốc điều hành mới đã gửi một người chuyển phát nhanh trên một con tàu để mua hàng hóa, và mọi thứ khác chờ đợi con tàu có sẵn tiếp theo. Có rất nhiều việc cần giao gấp, nhưng trợ lý này chỉ quản lý việc mua hàng và cố gắng làm tốt công việc của mình. Một người thực hiện nhiệm vụ của mình càng tốt thì anh ta càng can thiệp vào những người còn lại .

Khi phân tích tình hình, Giám đốc điều hành nhận ra rằng các nguồn lực quan trọng như tàu, tiền mặt và hàng hóa không được chi tiêu một cách tối ưu mà dựa trên cơ sở "đến trước được phục vụ trước". Bất cứ ai cũng có thể lấy tài nguyên để thực hiện công việc của họ, đe dọa năng suất của những nhân viên còn lại và công ty.

Vài việc đã được hoàn thành. Giám đốc điều hành quyết định chia công ty nguyên khối thành nhiều phòng ban. Ông thành lập bộ phận vận chuyển, bộ phận tiếp thị, bộ phận thu mua, bộ phận tài chính và bộ phận kho bãi. Bây giờ không ai có thể lấy con tàu. Trưởng bộ phận vận chuyển nhận tất cả các thông tin vận chuyển và cấp phát tàu cho người chuyển phát nhanh mà việc giao hàng sẽ mang lại lợi nhuận cao nhất cho công ty. Ngoài ra, nhà kho không cho phép người giao hàng đơn giản nhận hàng. Họ kiểm soát quá trình. Bộ phận tài chính không thể phân bổ tiền cho hoạt động tiếp thị nếu biết sớm sẽ có người mua hàng. Mỗi bộ phận có một nhân vật của công chúng: trưởng bộ phận. Cấu trúc bên trong của mỗi bộ phận là mối quan tâm riêng của nó.Nếu một người chuyển phát nhanh muốn lấy một số hàng hóa, anh ta sẽ đến gặp người quản lý kho chứ không phải đến nhà kho. Khi một đơn đặt hàng mới đến, nó được chuyển đến trưởng bộ phận vận chuyển ( người của công chúng ), không phải người chuyển phát nhanh ( người tư nhân ).

Nói cách khác, CEO đã nhóm các nguồn lực và hành động vào các phòng bancấm những người khác can thiệp vào cấu trúc nội bộ của phòng ban. Chỉ những người cụ thể có thể được liên lạc.

Về mặt OOP, đây không gì khác hơn là chia chương trình thành các đối tượng. Một chương trình nguyên khối, bao gồm các hàm và biến, được chuyển đổi thành một chương trình bao gồm các đối tượng. Và những đối tượng này chứa các biến và hàm.

"Chờ một chút. Vậy ý anh là vấn đề là mọi nhân viên đều có quyền truy cập không hạn chế vào tài nguyên và có thể ra lệnh cho bất kỳ nhân viên nào khác?"

"Đúng chính xác."

"Thật thú vị. Chúng tôi đã đưa ra một hạn chế nhỏ, nhưng chúng tôi đã nhận được nhiều đơn đặt hàng hơn. Và họ có thể duy trì sự kiểm soát tốt hơn đối với mọi thứ."

"Phải. Chia rẽ và chinh phục ở dạng tinh khiết nhất."

"Như anh đã nói, chia để trị. Đó là điều cần nhớ."

Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION