Tôi là người mới phát triển phần mềm quy mô lớn trong C ++ và tôi đã tự hỏi về mặt thiết kế của mọi thứ.
Tôi đã đọc câu hỏi này và tôi nghĩ rằng, về tổng thể, một khi chúng ta vượt qua các định nghĩa không đổi và các vấn đề tầm thường khác, các tệp tiêu đề C ++ chỉ là các định nghĩa API :
Họ định nghĩa những gì các lập trình viên khác (hoặc chính bạn từ các mô-đun khác) sẽ có thể sử dụng (các lớp, hàm công khai), nhưng không có lớp hoặc hàm riêng nào được định nghĩa trong nó. Nó giống như tệp tiêu đề xác định các tóm tắt (giao diện ...) và tệp nguồn thực hiện nó. Khi tệp nguồn được biên dịch, các chi tiết triển khai sẽ bị ẩn đi và vẫn là các tiêu đề có sẵn công khai xác định những gì mô-đun có thể làm.
Tôi cảm thấy quan điểm phân tách tệp tiêu đề / nguồn này dễ hiểu và dễ hiểu hơn nhiều so với các giải thích thông thường, vì bạn chỉ có thể nghĩ rằng "sẽ XXX
là tài liệu API có sẵn công khai hoặc là một chi tiết làm xúc xích được ẩn đi trong một tập tin nguồn không được tiết lộ? "
Là mô hình tinh thần của tôi về các tập tin tiêu đề gần đúng? Tôi đã bỏ lở những gì ?