Khóa học
Nhập mônFull Stack11 giờ 43 phút · 15 giờ/tuần Chứng chỉ

Lập trình hướng đối tượng chuyên sâu

Khóa học Lập trình hướng đối tượng (OOP) bài bản và sâu sắc. Làm chủ tư duy đóng gói, bất biến lớp, RAII, quản lý tài nguyên, đa hình, các nguyên lý SOLID và Design Patterns.

Vũ Đình Bảo
22 bài họcCập nhật tháng 10 năm 2026

Mô tả khóa học

Lập trình hướng đối tượng (Object-Oriented Programming - OOP) không chỉ đơn thuần là cú pháp class hay struct, mà là một nghệ thuật tư duy quản lý độ phức tạp của phần mềm quy mô lớn. Khóa học được xây dựng theo triết lý 'Mindful Coding: Thinking in Objects', dẫn dắt người học từ bản chất khủng hoảng phần mềm thủ tục sang việc xây dựng các đối tượng biết giữ lời hứa (Class Invariants).

Khóa học đi sâu vào các cơ chế cấp thấp quan trọng trong C++ hiện đại: Bố cục bộ nhớ của đối tượng, cơ chế quản lý tài nguyên tự động RAII, con trỏ thông minh (unique_ptr, shared_ptr), ngữ nghĩa di chuyển Move Semantics và Quy tắc số 0. Từ đó, người học tiến bước lên các tầng kiến trúc cao cấp: Thiết kế theo trách nhiệm (Responsibility-Driven Design), Kế thừa an toàn theo nguyên lý Liskov, Bảng phương thức ảo vtable, bộ 5 nguyên lý SOLID và các mẫu thiết kế kinh điển (Strategy, Template Method, Factory, Observer). Khóa học khép lại bằng dự án thực tế Kmin Café, giúp bạn biến toàn bộ lý thuyết thành kỹ năng kỹ thuật vững chắc.

Lợi ích khóa học

  • Xây dựng tư duy hướng đối tượng sâu sắc, hiểu rõ bản chất đóng gói và bất biến lớp.
  • Làm chủ hoàn toàn cơ chế RAII, Smart Pointers và Move Semantics, viết code an toàn bộ nhớ tuyệt đối.
  • Hiểu cặn kẽ cơ chế bộ nhớ cấp thấp: vtable, dynamic dispatch, memory padding và object slicing.
  • Thành thạo ứng dụng bộ 5 nguyên lý SOLID và ưu tiên Composition over Inheritance.
  • Làm chủ các Design Patterns kinh điển: Strategy, Template Method, Factory, Observer.
  • Trang bị kỹ năng phân tích Code Smell và tái cấu trúc mã nguồn lớn thông qua dự án Kmin Café.

Kiến thức cần có

— những gì bạn cần trước khi bắt đầu

Đã hoàn thành khóa học Nhập môn lập trình (FPP) hoặc có kiến thức lập trình cơ bản vững chắc.

Nắm vững cơ chế con trỏ, tham chiếu, mảng, hàm và phân vùng bộ nhớ Stack/Heap.

Có môi trường lập trình C++ hiện đại (C++17/C++20) trên máy tính cá nhân.

Lập trình căn bản
0%Bổ sung

Bạn sẽ làm được gì

— sau khi hoàn thành khóa học

Chuyển hóa hoàn toàn tư duy từ lập trình thủ tục sang mô hình hóa hướng đối tượng chuẩn mực.

Làm chủ cơ chế RAII và con trỏ thông minh để loại bỏ 100% rủi ro rò rỉ bộ nhớ (Memory Leak).

Hiểu rõ cơ chế bộ nhớ bên dưới nắp capo: Object Memory Layout, vtable, vptr, Object Slicing.

Thành thạo áp dụng bộ nguyên lý SOLID và nguyên tắc Composition over Inheritance.

Tự tin nhận diện Code Smell, tái cấu trúc mã nguồn và ứng dụng các Design Patterns vào dự án thực tế.

Chuyển hóa hoàn toàn tư duy từ lập trình thủ tục sang mô hình hóa hướng đối tượng chuẩn mực.
Làm chủ cơ chế quản lý tài nguyên RAII và con trỏ thông minh (Smart Pointers) để triệt tiêu rò rỉ bộ nhớ.
Thấu hiểu cơ chế bộ nhớ đối tượng: Object Memory Layout, con trỏ vptr và bảng phương thức ảo vtable.
Áp dụng thuần thục 5 nguyên lý thiết kế SOLID và nguyên tắc Composition over Inheritance.
Nhận diện Code Smells, tái cấu trúc mã nguồn (Refactoring) và ứng dụng các Design Patterns kinh điển.
Xây dựng kiến trúc phần mềm sạch, dễ bảo trì, dễ mở rộng và kiểm thử độc lập.

Đồ thị kiến thức

— các khái niệm có trong khóa học

Đồ thị kiến thức khóa học

Kiến thức dẫn đến kỹ năng; bấm vào node để xem các liên kết

Kiến thứcKỹ năngAbstract ClassAccess ModifierAccessor MethodAssertionAssociationClassClass DiagramClass InvariantCode SmellCohesionC++Object-Oriented DesignObject-Oriented Programm…Programming Fundamentals
Khái niệm trong khóa họcKỹ năng đạt đượcKhái niệm liên quanĐã thành thạo

Khóa học dành cho ai

Sinh viên CNTT và kỹ sư phần mềm muốn làm chủ lập trình hướng đối tượng ở cấp độ bản chất sâu sắc.

Lập trình viên muốn nâng cao kỹ năng thiết kế kiến trúc mã nguồn sạch, dễ mở rộng và dễ bảo trì.

Ứng viên chuẩn bị tham gia các vòng phỏng vấn thiết kế hướng đối tượng (Object-Oriented Design Interview).

Sinh viên CNTT và kỹ sư phần mềm muốn làm chủ lập trình hướng đối tượng ở cấp độ bản chất sâu sắc.
Lập trình viên muốn nâng cao kỹ năng thiết kế kiến trúc mã nguồn sạch, dễ mở rộng và dễ bảo trì.
Ứng viên chuẩn bị tham gia các vòng phỏng vấn thiết kế hướng đối tượng (Object-Oriented Design Interview).
Kỹ sư muốn làm chủ C++ hiện đại, quản lý tài nguyên an toàn và tối ưu hóa hiệu năng hệ thống.

Giảng viên

Vũ Đình Bảo

Với mình, có được học trò giỏi là một điều tự hào, nhưng các học trò chưa giỏi mới là thử thách mình quan tâm và việc giúp cho những bạn ấy có sự tiến bộ mới là hạnh phúc đích thực trong nghề của mình.