Những nguyên lý thiết kế hướng đối tượng
Bài viết này sẽ trình bày một số lý thuyết về thiết kế hướng đối tượng. Hy vọng sẽ giúp bạn có một cái nhìn toàn cục và hệ thống hóa lại những lý luận của các bạn về lập trình hướng đối tượng.
Vì đây là một bài viết khá dài và đòi hỏi cần phải có sự biên soạn công phu. Nên tôi tạm tách ra thành từng phần. Dưới đây là mục lục những gì tôi sẽ trình bày.
Lập trình hướng đối tượng là gì?
Những tính chất của lập trình hướng đối tượng
- Tính đóng gói (Encapsulation)
- Tính đa hình (Polymorphism>
- Tính kế thừa (Inheritance)
- Tính trừu tượng hóa (Abstraction)
Những nguyên lý thiết kế lớp
- Nguyên lý đóng – mở (Open-Closed Principle – OCP)
- Nguyên lý thay thế (Liskov Substitution Principle – LSP)
- Nguyên lý nghịch đảo phụ thuộc (Dependency Inversion Principle – DIP)
- Nguyên lý phân tách interface (Interface Segregation Principle – ISP)