2009-02-14 47 views
5

Tôi cố gắng tuân theo nguyên tắc SOLID. Nhưng mỗi khi nói đến giao diện người dùng, tôi thấy rằng có một ma sát cố hữu giữa màn hình phức tạp của dữ liệu lai, dữ liệu tổng hợp mà khách hàng yêu cầu và nguyên tắc tốt đẹp của trách nhiệm một mình.RẮN và giao diện người dùng?

Giờ đây, có thể phân chia và phân chia các bit và phần khác nhau của giao diện người dùng thông thường thành các lớp trách nhiệm đơn lẻ, nhưng sau đó bạn gặp phải tất cả các vấn đề xây dựng thú vị. của gui thực sự thường hóa ra là các quan điểm khác nhau của cùng một trạng thái chia sẻ, hoặc ít nhất là một phần các trạng thái chồng chéo.

Tôi thường xuyên kết hợp các lớp điều khiển khá phức tạp cho các chế độ xem của mình mà không phải là rất giống RẮN, nhưng thực tế mã hóa khá không nhất quán và nó làm phiền tôi một chút. Nó chỉ có vẻ như sự phức tạp của chia nó lên không phải là giá trị nó.

Vậy làm thế nào để bạn đối phó với nó?

Trả lời

3

Bạn đã xem xét presentation patterns (các tác phẩm chưa hoàn thành của Martin Fowler)? Tôi có xu hướng sử dụng Mô hình trình bày cho các chế độ xem phức tạp và Chế độ xem tự trị cho các chế độ xem tầm thường. Trình bày mô hình cung cấp cho bạn một thiết lập linh hoạt và bạn có thể dễ dàng kiểm tra các lớp này.

1

Tôi nghĩ bạn khá đúng. Quan điểm của dữ liệu có thể cần phải là một "màn hình phức tạp, dữ liệu tổng hợp, phức tạp" nếu đó là những gì trải nghiệm người dùng tốt quyết định cho ứng dụng của bạn. Đối với giao diện người dùng, khả năng sử dụng giao diện người dùng quan trọng hơn việc cố gắng tuân thủ các nguyên tắc thiết kế mã hóa. Nguyên tắc thiết kế cho mã không nên ra lệnh giao diện người dùng trông hoặc hoạt động. Sau đó, bạn chỉ cần kết thúc với các hình thức cứng nhắc và quan điểm có ý nghĩa đối với mã. Làm những gì có ý nghĩa đối với người dùng.

Điều đó đang được nói là mẫu MVC/MVP như đã đề cập ở trên vẫn có thể hữu ích. Phân tách chế độ xem từ người trình bày. Bằng cách đó bạn vẫn có thể cách ly chế độ xem của mình và giữ SRP cho chế độ xem. Người trình bày của bạn là người sẽ phải vi phạm SRP và sẽ có nhiều lý do để thay đổi.

+0

Tôi cho rằng sự khác biệt giữa cơ sở dữ liệu 10-15 năm tuổi và gui hiện đại là những gì đang giữ một nửa trong số chúng tôi trong công việc;) – krosenvold

+2

Chỉ cho đến khi họ có thể bắt robot ... –

Các vấn đề liên quan