Bạn làm điều đó bằng cách áp dụng một phần tốt của phân lớp (có thể triển khai mẫu MVP) và xử lý CLI của bạn dưới dạng giao diện người dùng theo đúng nghĩa của nó.
CẬP NHẬT
văn bản này từ bài viết wikipedia về mô hình Model-View-Presenter giải thích nó khá tốt.
Model-View-Presenter (MVP) là một giao diện người dùng mẫu thiết kế thiết kế để tạo điều kiện tự động kiểm tra đơn vị và cải thiện sự tách biệt các mối quan tâm trong logic trình bày.
Mô hình này là một giao diện xác định các dữ liệu sẽ được hiển thị hoặc khác hành động thuận trong giao diện người dùng .
Chế độ xem là giao diện hiển thị dữ liệu (mô hình) và tuyến đường lệnh người dùng (sự kiện) cho người trình bày hành động theo dữ liệu đó.
Người trình bày hành động theo mô hình và chế độ xem. Nó truy xuất dữ liệu từ các kho lưu trữ (mô hình), vẫn tồn tại và định dạng cho hiển thị trong chế độ xem.
Điểm chính là bạn cần phải làm việc để tách mối quan tâm trong đơn của bạn. CLI của bạn sẽ là một triển khai của chế độ xem , trong khi người hâm mộ kỳ lân sẽ triển khai một chế độ xem khác cho một khách hàng phong phú. Các fan hâm mộ kỳ lân, sẽ căn cứ quan điểm của mình trên cùng một diễn giả như CLI của bạn. Nếu những người trình bày không đủ cho khách hàng giàu có của mình, anh ta có thể dễ dàng thêm nhiều hơn, bởi vì mỗi người trình bày dựa trên dữ liệu từ mô hình. Mô hình, đến lượt nó, là nơi mà tất cả các logic cốt lõi của ứng dụng của bạn dựa vào. Thiết kế một mô hình tốt là toàn bộ chủ đề trong chính nó. Bạn có thể quan tâm đến việc đọc, ví dụ: khoảng Domain-Driven Design, mặc dù tôi không biết mức độ phù hợp của ứng dụng hiện tại của bạn. Nhưng đó là đọc thú vị anyway. Như bạn có thể thấy, bài viết wikipedia trên MVP cũng nói về khả năng thử nghiệm, điều này cũng rất quan trọng nếu bạn muốn cung cấp một khung công tác mạnh mẽ để người khác xây dựng. Để đạt được mức độ kiểm tra cao trong cơ sở mã của bạn, thường là một ý tưởng hay khi sử dụng một số loại khung công tác Dependency Injection.
Tôi hy vọng điều này mang lại cho bạn ý tưởng chung về các kỹ thuật bạn cần sử dụng, mặc dù tôi hiểu rằng có thể có một chút áp đảo. Đừng ngại hỏi bạn có còn nghi ngờ gì nữa không.
/Klaus
Nguồn
2010-04-10 12:51:59
+1: câu hỏi tuyệt vời! Tôi thường tự hỏi điều này ... – RBarryYoung