Giới thiệu và Định nghĩa
Lập trình hướng thành phần (HTP)- component-oriented programming Xuất phát từ lập trình hướng đối tượng, tư duy lập trình hướng thành phần (component-oriented programming) theo ý tưởng: Giải quyết bài toán bằng cách xây dựng ...
Lập trình hướng thành phần (HTP)- component-oriented programming
Xuất phát từ lập trình hướng đối tượng, tư duy lập trình hướng thành phần (component-oriented programming) theo ý tưởng:
- Giải quyết bài toán bằng cách xây dựng một tập các thành phần (component) có tính độc lập tương đối với nhau. Mỗi thành phần đảm nhiệm một phần công việc nhất định.
- Sau đó, người ta ghép các thành phần với nhau để thu được một phần mềm thoả mãn một tập các yêu cầu xác định
Với lập trình hướng thành phần, người ta có thể tiến hành lập trình theo phương pháp sau:
- Xây dựng một thư viện các thành phần, mỗi thành phần thực hiện một công việc xác định.
- Khi cần phát triển một phần mềm cụ thể, người ta chỉ cần chọn những thành phần có sẵn trong thư viện để ghép lại với nhau. Người lập trình chỉ phải phát triển thêm các thành phần mình cần mà chưa có trong thư viện.
Phương pháp này có những ưu điểm rất lớn:
- Lập trình viên có thể chia sẻ với nhau những thành phần mình đã xây dựng cho nhiều người khác dùng chung.
Khi cần, lập trình viên có thể lắp ghép các thành phần có sẵn khác nhau để tạo thành các chương trình có chức năng khác nhau. Tất cả chỉ cần dựa trên công nghệ lắp ghép thành phần, tiết kiệm được rất nhiều công sức lập trình.
Một số định nghĩa về "lập trình hướng thành phần":
Thành phần (component): là một phần không tầm thường của hệ thống, gần như độc lập và có thể thay thế được, giữ một chức năng rõ ràng trong hệ thống. Một component có thể là một trong ba loại: source code component; runtime component; executable component.
Lập trình hướng thành phần là kiểu lập trình có xu hướng chia hệ thống phần mềm thành những thành phần, giữ các chức năng khác nhau, mà khi phối hợp chúng ta sẽ hệ thống phần mềm đó. Lập trình hướng thành phần sử dụng chung nhiều quan niệm của "lập trình hướng đối tượng", nhưng hai khái niệm này là độc lập với nhau.