Tôi phải đối mặt với câu hỏi hóc búa sau: Phần mềm của chúng tôi có một lớp cơ sở trừu tượng cho các đối tượng thuật toán. Tất cả các đối tượng này có một execute()
phương pháp phổ biến, ví dụ .:Generic (gần như) tự mô tả các thông số trong C++ cùng với một GUI?
class Algorithm
{
public:
// [...]
virtual void execute() = 0;
// [...]
};
Đối với mỗi thuật toán mà chúng tôi muốn thực hiện, chúng tôi chỉ đơn giản là kế thừa từ lớp cơ sở và lưu trữ tất cả đối tượng thuật toán nạp trong một vị trí trung tâm. Càng xa càng tốt.
Sự cố hiện nằm trong các tham số của thuật toán. Chúng tôi muốn có thể mô tả cho mỗi thuật toán các tham số cần được thiết lập (bởi một lớp bên ngoài). Để kết thúc này, chúng tôi đã cho mỗi thuật toán một đối tượng ParameterList
có chứa các tham số của nó. Tôi nên làm rõ điều đó đối với chúng tôi, một tham số bao gồm một số loại hình (chẳng hạn như int
) và một nhãn (chẳng hạn như "Số lần lặp lại).
Vấn đề bây giờ bắt đầu khi chúng tôi muốn kết nối ParameterList
cho một số loại Rõ ràng, các thuật toán của chúng ta sẽ không có "kiến thức" về API đồ họa (Qt, GTK, vv) mà chúng ta đang sử dụng. Tuy nhiên, ở cùng một khía cạnh, chúng ta muốn có thể mô tả các tham số thuật toán ngữ nghĩa, ví dụ bằng cách xác định rằng các thuật toán đòi hỏi một filename. Làm thế nào đây filename sau đó được hiển thị lên đến GUI.
có cách nào để kết hợpnày 210 với một số loại kiến thức ngữ nghĩa?
Tôi nhận thấy rằng câu hỏi này nghe có vẻ rất mơ hồ. Tuy nhiên, tôi không được phép đăng bất kỳ ví dụ mã không tầm thường nào (vì lý do NDA). Vì vậy, có ai đã phải đối mặt với một vấn đề tương tự trong quá khứ?
Để kết thúc: Chúng tôi muốn các đối tượng của mình mô tả các tham số mà chúng yêu cầu đối với GUI, mà không biết chi tiết chính xác của GUI.
OK, xem, * đó là * một câu hỏi hay. Và từ một poster mới, quá. Có hy vọng, sau khi tất cả. –
phương thức ảo khác được triển khai trong mỗi lớp thuật toán cung cấp danh sách các tham số và thông tin cần thiết trên loại (tên tệp -> sau đó là trường văn bản có nút mở tệp, số nguyên -> nút quay ...) v.v. ... GUI yêu cầu các tham số hiển thị cho bản ngã được thực hiện ... tại sao không? – ShinTakezou