Có điều gì sai khi có một lớp đơn (một .h) được triển khai trên nhiều tệp nguồn không? Tôi nhận ra rằng điều này có thể là một triệu chứng của quá nhiều mã trong một lớp duy nhất, nhưng có bất cứ điều gì về mặt kỹ thuật sai với nó?Một lớp học có nhiều tệp triển khai
Ví dụ:
foo.h
class Foo
{
void Read();
void Write();
void Run();
}
Foo.Read.cpp
#include "Foo.h"
void Foo::Read()
{
}
Foo.Write.cpp
#include "Foo.h"
void Foo::Write()
{
}
Foo.Run.cpp
#include "Foo.h"
void Foo::Run()
{
}
Điều đó sẽ khiến tôi bất hợp pháp. Tôi chắc chắn có đôi khi tốt (hoặc ít nhất là phong nha) lý do để làm điều này, nhưng từ quan điểm của cố gắng để hiểu mô hình đối tượng, bleah ... để có để nhảy các tập tin để làm theo các phương pháp xung quanh. – Joe
Nếu bạn xây dựng một thư viện, việc tách mọi chức năng và toàn cầu thành đối tượng riêng của nó cho phép người tiêu dùng chỉ liên kết các bit mà họ tham chiếu và không còn nữa. Mặc dù vậy, thật khó chịu khi làm việc. – ephemient
@ephemient: Tại sao điều này lại quan trọng? Không thể một trình liên kết loại bỏ các chức năng mà bạn không sử dụng? Hoặc là nó chỉ để cải thiện thời gian liên kết? –