Lập Trình Máy Tính Đối Tượng Thượng Đế

Trong lập trình hướng đối tượng, một Đối tượng thượng đế (tiếng Anh: God object) là một đối tượng biết quá nhiều hoặc làm quá nhiều.

Đối tượng thượng đế là một ví dụ về phản mô thức (en) (anti-pattern).

Một kỹ thuật lập trình phổ biến là tách (en) một vấn đề lớn thành nhiều vấn đề nhỏ hơn (chiến lược chia để trị) và tạo ra giải pháp cho từng vấn đề. Một khi các vấn đề nhỏ hơn được giải quyết, thì vấn đề lớn nói chung cũng đã được giải quyết. Do đó, một đối tượng nhất định cho một vấn đề nhỏ thì chỉ cần biết về chính nó thôi. Tương tự như vậy, chỉ có 1 tập hợp các vấn đề mà một đối tượng cần giải quyết: các vấn đề của chính nó.

Ngược lại, một chương trình sử dụng một Đối tượng thượng đế thì lại không theo hướng tiếp cận này. Hầu hết các chức năng tổng thể của chương trình như vậy thì đều được code thành một đối tượng "biết tuốt" đơn nhất, bảo quản hầu hết thông tin về toàn bộ chương trình và cũng cung cấp hầu hết các phương thức để thao tác với các dữ liệu này. Bởi vì đối tượng này chứa rất nhiều dữ liệu và đòi hỏi rất nhiều phương thức, nên vai trò của nó trong chương trình trở nên giống như Thượng đế (biết tất cả và bao quát tất cả). Thay vì việc 'các đối tượng chương trình' giao tiếp trực tiếp với nhau, thì 'các đối tượng khác trong chương trình' dựa dẫm vào Đối tượng thượng đế đơn nhất đấy cho hầu hết thông tin và tương tác của chúng. Vì đối tượng này được ngẫu hợp chặt chẽ (en) (được tham chiếu) với rất là nhiều mã khác, nên việc bảo trì trở nên khó khăn hơn so với hệ quả khi thiết kế dàn trải đều ra các đối tượng lẻ. 'Những thay đổi được thực hiện cho đối tượng đấy vì lợi ích cho một thường quy' thì có thể có tác dụng ngoài ý muốn lên các thường quy không liên quan khác.

Một Đối tượng thượng đế là 'thứ tương tự trong lập trình hướng đối tượng' cho việc không dùng chương trình con trong các ngôn ngữ lập trình thủ tục, hoặc sử dụng quá nhiều biến toàn cục để lưu trữ thông tin trạng thái.

Tuy rằng việc tạo một Đối tượng thượng đế thì thường được coi là sự thực hành lập trình không tốt, kỹ thuật này đôi khi được sử dụng cho các môi trường lập trình chặt chẽ (như vi điều khiển), tại đó việc tăng hiệu suất và sự tập trung kiểm soát thì quan trọng hơn tính khả bảo trì và sự tao nhã lập trình.

Xem thêm

  • Mã Ravioli – mô thức đối nghịch với cái này

Tham khảo

  • Riel, Arthur J. (1996). “Chapter 3: Topologies of Action-Oriented Vs. Object-Oriented Applications”. Object-Oriented Design Heuristics. Boston, Massachusetts: Addison-Wesley. ISBN 0-201-63385-X. 3.2: Do not create god classes/objects in your system. Be very suspicious of an abstraction whose name contains Driver, Manager, System, or Subsystem.
  • Anti-Patterns and Worst Practices – Monster Objects.

Tags:

Lập trình hướng đối tượngen:Anti-patternĐối tượng (khoa học máy tính)

🔥 Trending searches on Wiki Tiếng Việt:

Chất bán dẫnTừ Hán-ViệtQuần đảo Cát BàPol PotTriệu Tuấn HảiMa Kết (chiêm tinh)Rừng mưa nhiệt đớiTôn giáo tại Việt NamHiệp hội các quốc gia Đông Nam ÁIllit (nhóm nhạc)Vụ đắm tàu RMS TitanicSố chính phươngCương lĩnh chính trị của Đảng Cộng sản Việt NamSự kiện Thiên An MônNhà Tây SơnNông Đức MạnhĐắk LắkTín ngưỡng thờ Mẫu Việt NamĐất rừng phương Nam (phim)Nguyễn Văn LinhCác ngày lễ ở Việt NamDòng điệnBan Kinh tế Trung ương Đảng Cộng sản Việt NamCộng hòa Nam PhiThiếu nữ bên hoa huệĐại dịch COVID-19 tại Việt NamTrần Thủ ĐộRonaldo (cầu thủ bóng đá Brasil)Ô ăn quanVòng loại Cúp bóng đá U-23 châu Á 2024Chủ nghĩa tư bảnDương Văn MinhJennifer PanNhật thựcBố già (phim 2021)Đà NẵngChủ nghĩa xã hộiViệt NamPhong trào Cần VươngVăn LangFansipanPhápBảo tồn động vật hoang dãVõ Tắc ThiênLiên XôBảo Anh (ca sĩ)Nguyễn Duy NgọcBảy mối tội đầuBộ Chính trị Ban Chấp hành Trung ương Đảng Cộng sản Việt NamNhà ThanhVụ sai phạm tại Tập đoàn Thuận AnMê KôngSinh sản hữu tínhMạch nối tiếp và song songTích phânPhú QuốcDấu chấm phẩyChữ HánTrận Bạch Đằng (938)Đoàn Thanh niên Cộng sản Hồ Chí MinhĐịnh luật OhmHoàng Anh Tuấn (huấn luyện viên bóng đá)Các Tiểu vương quốc Ả Rập Thống nhấtDragon Ball – 7 viên ngọc rồngQuân lực Việt Nam Cộng hòaTân Hiệp PhátNguyễn Cao KỳIranLê Minh HưngNgân hàng thương mại cổ phần Quân độiTiếng ViệtXã hộiLâm ĐồngNguyễn Văn ThiệuHà LanBiển ĐôngTác động của con người đến môi trường🡆 More