Hallo.Delphi: Chuyển các đối tượng đến các máy tính từ xa
Tôi đang viết phần mềm đặt hàng cấp 2 để sử dụng mạng. Vì vậy, chúng tôi có khách hàng và máy chủ.
Trên máy khách, tôi tạo đối tượng của TBest trong đó ID sản phẩm, số tiền và người dùng đã đặt đơn hàng được lưu. (Vì vậy, đây là một mục của một đơn đặt hàng).
Đơn đặt hàng có thể có nhiều mục và các mục đó được lưu trong một mảng để sau đó gửi lệnh đã tạo tới máy chủ. Lớp giữ mảng được gọi là TBestellung.
Vì vậy, tôi đã tạo ra cả
TBest.toString: string;
và
TBest.fromString(source: string): TBest;
Bây giờ, tôi gửi kết quả toString đến máy chủ thông qua ổ cắm và trên máy chủ tôi có thể tạo các đối tượng sử dụng fromString (phân tích cú pháp của nó các thuộc tính nhận). Điều này hoạt động như dự định.
Câu hỏi: Có cách nào tốt hơn và thanh lịch hơn để làm điều đó không? Serialization là một từ khóa, có, nhưng không phải là khủng khiếp/khó khăn khi bạn serialize một đối tượng (TBestellung trong trường hợp này) có chứa một mảng của các đối tượng khác (TBest trong trường hợp này)?
// Sửa đổi nhỏ: Trước khi được hỏi. Có, tôi nên tạo thêm một lớp (tĩnh) cho toString và fromString vì nếu không máy chủ cần tạo một TBest "trống" để có thể sử dụng fromString.
Không hoàn toàn là câu trả lời nhưng là nhận xét về "Sửa đổi nhỏ" của bạn. Thay vì một lớp tĩnh, bạn có thể muốn một phương thức tĩnh (hoặc một phương thức lớp như chúng được gọi trong Delphi) cho phương thức fromString của bạn trên lớp TBest, nhưng phương thức toString sẽ chỉ là một hàm bình thường trên lớp TBest của bạn. –
awrr, nhập lỗi. tuy nhiên, cảm ơn – Acron