2009-05-07 34 views
9

Câu hỏi của tôi có hai phần:Tổ chức GUI đang

  • Có ai có bất cứ lời khuyên hoặc tham chiếu đến một số tài liệu trên web về làm thế nào để viết mã GUI đó là dễ dàng để đọc, viết, và duy trì?

    Ví dụ.

    Tôi thấy rằng các biểu mẫu GUI càng rộng hơn, tôi kết thúc bằng một danh sách dài các phương thức xử lý sự kiện khá ngắn. Nếu tôi cố gắng thêm bất kỳ phương thức trợ giúp riêng nào, họ chỉ bị lạc trong sự lộn xộn, và tôi liên tục phải cuộn quanh trang để theo một dòng suy nghĩ duy nhất.


  • Làm thế nào tôi có thể dễ dàng quản lý cài đặt trên ứng dụng?

    Ví dụ.

    Nếu người dùng chọn mục mới trong danh sách thả xuống, tôi có thể cần bật một số thành phần trên GUI, cập nhật tệp cấu hình ứng dụng và lưu trữ giá trị mới trong biến cục bộ. Tôi thường chọn không tạo trình xử lý sự kiện cho tất cả các cài đặt (xem ở trên) và kết thúc bằng các phương pháp như "LoadGUISettings" và "SaveGUISettings", nhưng sau đó tôi kết thúc gọi các phương thức này trên mã của mình và chạy qua rất nhiều của mã chỉ để cập nhật rất ít, nếu có, thay đổi thực tế.

Cảm ơn!

+0

Tôi cũng rất muốn nghe một số lời khuyên của các chuyên gia. Các mẫu mà tôi nên xem xét, các cuốn sách tôi nên đọc, các khung mà tôi nên tìm hiểu, tất cả sẽ là gợi ý tuyệt vời cho một người mới lập trình GUI, chẳng hạn như bản thân tôi. –

+0

Bạn đang làm việc với ngôn ngữ nào? –

+0

Tôi đã đạt đến mức độ thất vọng tối đa khi làm việc ở Borland C++, nhưng đó là điều mà tôi nghĩ rằng tôi luôn gặp khó khăn. – jeremyalan

Trả lời

2

Nếu bạn đang sử dụng WPF, bạn có thể muốn đọc Composite Application Guideance for WPF.

Nó thảo luận về nhiều chủ đề trong số này (cũng như nhiều chủ đề khác). Mục tiêu chính của hướng dẫn đó là tạo ra các ứng dụng quy mô lớn một cách linh hoạt, có thể bảo trì.

+0

Thật không may, tôi không làm việc với WPF, nhưng tôi chắc chắn sẽ kiểm tra nó ra, và có lẽ tôi có thể trích xuất một số thông tin tốt và áp dụng nó vào ứng dụng của tôi. – jeremyalan

0

Bạn chắc chắn nên xem Jeremy Miller's guide để thiết kế khách hàng phong phú. Nó không đầy đủ, nhưng tôi tin rằng anh ấy đang viết một cuốn sách về chủ đề này.

Một blog khác bạn nên xem là Rich Newman's. Ông đang viết về Composite Application Block, một hướng dẫn thực hành tốt nhất về cách cấu trúc các máy khách giàu.

Bạn cũng có thể đọc this book chỉ đọc rất nhẹ nhưng cung cấp cho bạn một số ý tưởng hay.

5

Một số hướng dẫn cho câu hỏi đầu tiên, từ một quan điểm OO:

  • Chia tay lớp học lớn thành nhỏ hơn. Bảng điều khiển đó có một loạt các subpanels khá mô-đun không? Tạo một lớp nhỏ hơn cho mỗi subpanel, sau đó có một lớp con khác, cấp cao hơn đặt chúng lại với nhau.
  • Giảm trùng lặp. Bạn có hai cây chia sẻ chức năng? Tạo một siêu lớp! Tất cả các trình xử lý sự kiện của bạn có hoạt động tương tự không? Tạo một phương thức mà tất cả họ đều gọi!

Câu hỏi thứ hai. Tôi thấy hai cách để thực hiện việc này:

  • Người nghe. Nếu nhiều thành phần phải phản hồi lại thay đổi xảy ra trong một thành phần, thì thành phần đó sẽ kích hoạt sự kiện.
  • Biến toàn cục. Nếu nhiều thành phần đang đọc và viết cùng một dữ liệu, hãy làm cho nó toàn cầu (tuy nhiên bạn làm điều đó bằng ngôn ngữ bạn đã chọn). Để có thêm tính hữu dụng, hãy kết hợp hai phương pháp tiếp cận và cho phép các thành phần lắng nghe những thay đổi trong đối tượng dữ liệu toàn cầu.