2010-02-09 38 views
8

Tôi sẽ viết một ứng dụng WinForm khá lớn/phức tạp như Paint.NET, SharpDevelop, v.v. Tôi nghĩ một trong những điều quan trọng nhất để xây dựng một ứng dụng như vậy là cấu trúc dự án đúng cách để tăng khả năng bảo trì và kiểm soát phức tạp.Làm thế nào để viết một ứng dụng WinForms lớn?

Vì vậy, loại mô hình hoặc thực tiễn nào tôi sử dụng? Bất kỳ bài đăng trên blog, giấy tờ, dự án mã nguồn mở đều được hoan nghênh. Tôi đang cố gắng tìm hiểu một cái gì đó từ SharpDevelop nhưng nó khá lớn đối với tôi để bước vào.

PS: Tôi là một lập trình viên có kinh nghiệm trước đây nhắm mục tiêu phát triển web (asp.net, đường ray, v.v.). Vì vậy, tôi biết một số nguyên tắc thiết kế và cách sử dụng chúng khi thực hiện kinh doanh logic. Có lẽ tôi thực sự cần bây giờ là một mẫu để bắt đầu với một ứng dụng WinForm để tôi có thể nhận ra cách xử lý các menu, điều khiển và những thứ khác. Tôi đã học được một cái gì đó về mô hình MVP nhưng vẫn không tự tin để bắt đầu một ứng dụng lớn/phức tạp.

Trả lời

4

Đối với các dự án lớn, phương pháp và công cụ bạn đang sử dụng cũng quan trọng không kém như thiết kế kiến ​​trúc. Bạn cần thiết lập một hệ thống kiểm soát nguồn (như SVN) từ ngày đầu tiên. Ngoài ra, nó là rất tốt để có một thủ tục xây dựng tiêu chuẩn và thực hiện xây dựng hàng ngày. Các thủ tục xây dựng nên bao gồm chạy tất cả các bài kiểm tra, mà bạn cũng nên đặt một số nỗ lực trong việc thực hiện ngay từ đầu.

Về cấu trúc, tôi tin rằng điều quan trọng nhất là chia dự án của bạn thành các khối xây dựng với sự phụ thuộc bắt chước lẫn nhau. Bằng cách này, bạn sẽ có thể suy nghĩ về một phần nhỏ của hệ thống cùng một lúc và không phải đối mặt với sự phức tạp đầy đủ của nó. Nó cũng sẽ giúp đại biểu một số công việc cho một lập trình viên đồng nghiệp, nếu bạn có cơ hội này.

Để bắt đầu, tôi khuyên bạn nên triển khai thứ gì đó tối thiểu nhanh nhất có thể. Sau đó, làm việc để làm cho nó tốt hơn và thêm chức năng. Điều này sẽ giữ cho bạn có động lực như bạn sẽ có một cái gì đó cụ thể để làm việc với. Nó cũng sẽ giúp bạn xác định các lỗi thiết kế chính và các vấn đề quan trọng sớm để sửa chúng.

+0

Tôi là một lập trình viên giàu kinh nghiệm trước đây nhắm mục tiêu phát triển web (asp.net, đường ray, v.v. Vì vậy, tôi biết một số nguyên tắc thiết kế và làm thế nào để sử dụng chúng khi thực hiện kinh doanh logic.Có lẽ tôi thực sự cần bây giờ là một mẫu để bắt đầu với một ứng dụng WinForm s o tôi có thể nhận ra cách xử lý các menu, điều khiển và các menu khác. Tôi đã học được một cái gì đó về mô hình MVP nhưng vẫn không tự tin để bắt đầu một ứng dụng lớn/phức tạp. Cảm ơn tất cả các bạn! –

+0

Đầu tiên đưa ra quyết định giữa WinForms và WPF. WPF có một đường cong học tập dốc hơn, nhưng nó sẽ cung cấp cho bạn một giao diện người dùng phong phú hơn. Bắt đầu viết mã và đừng lo lắng về các mẫu MVP hoặc MVC. Cố gắng giữ mã UI tách biệt khỏi logic nghiệp vụ càng nhiều càng tốt và đó chỉ là nó. Bạn sẽ không bao giờ tự tin trừ khi bạn bắt đầu thực hiện một số mã hóa, ngay cả khi nó là một dự án thú cưng. – kgiannakakis

+0

+1 cho đoạn cuối cùng. –

0

Tôi tưởng tượng rằng nhiều kỹ thuật mà làm cho các dự án web thành công sẽ dịch cho các dự án Winforms. Bắt đầu nhỏ và phát triển các ứng dụng từng bước Cố gắng giữ cho toàn bộ ứng dụng xây dựng/làm việc trong khi bạn thêm các tính năng cùng một lúc

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