2009-09-01 29 views
9

Giới thiệu: Bây giờ tôi biết câu hỏi này có thể là rất rộng và nó sẽ là quá khó để trả lời câu hỏi mà không có tôi một cái gì đó cụ thể. Vì vậy, tất cả tôi hỏi chỉ là một số hướng, hoặc một lời giải thích ngắn cấp cao của một thiết kế, hoặc có thể đã có một số khuôn khổ ra có thể giúp tôi bắt đầu ... Tôi không chắc chắn .. Tôi chưa bao giờ thiết kế một plugin kiến trúc trước đây, vì vậy có thể có một số tài nguyên/ví dụ bạn có thể chỉ cho tôi trên web sẽ giúp tôi tìm hiểu để tôi có thể đưa ra giải pháp của riêng tôi.Làm thế nào để thiết kế một kiến ​​trúc plugin cho ASP.NET với ứng dụng Web MVC

tin chi tiết của câu hỏi của tôi: Ý định của tôi là tôi muốn tạo ra một kiến ​​trúc plug-in cho một con vật cưng-dự án mới mà tôi đang xây dựng trong ASP.NET MVC.

Tôi muốn thiết kế nó để có một số khả năng plug-in cho tất cả hoặc ít nhất là hầu hết các thành phần của ứng dụng.

Lý do tôi muốn thực hiện việc này, là để tôi có thể thực hiện các triển khai với thời gian giảm gần bằng không. Ý tưởng là khi tôi muốn triển khai phiên bản mới nhất, tôi sẽ thả các tệp DLL mới vào một thư mục cụ thể và ứng dụng sẽ tải các plug-in mới và đó là nó.

Để exapmle, hãy nói rằng tôi thêm tính năng "liên hệ" mới vào ứng dụng web của tôi nơi người dùng có thể tìm kiếm, thêm và xóa địa chỉ liên hệ. Tôi muốn có thể triển khai bằng cách bổ sung.

Có điều gì đó như thế này thậm chí có thể cho các ứng dụng web không? Hay tôi chỉ mơ?

+0

Tôi đã suy nghĩ về cùng một điều và có một số ý tưởng. Liên hệ với tôi trực tiếp tại spurious.thought [at] gmail –

Trả lời

3

Chắc chắn là có thể.

Bạn sẽ cần phải xác định một giao diện khá toàn diện đại diện cho mọi thứ mà plugin của bạn sẽ phải làm. Bạn nên tiếp cận nó bằng cách phân biệt những gì là "cốt lõi" cho ứng dụng của bạn, và nơi mà các điểm mở rộng được. Ví dụ: plugin sẽ được truy cập ở đâu? Họ sẽ là các tab trên một trang, hoặc các liên kết trong một thanh bên? Những plugin nào cần có để phù hợp với vùng chứa plugin?

Nói chung, các plugin được liệt kê qua phản ánh bằng cách tìm kiếm các hội đồng triển khai giao diện plugin.

Để khuyến khích, chúng tôi đã thực hiện điều này với một sản phẩm doanh nghiệp cung cấp một khuôn khổ chung cho giao diện "quản lý" cho các trang web. Các nhà phát triển chỉ cần thả một dll plugin để xây dựng các trang thuộc tính cụ thể và chúng hiển thị trong menu giao diện quản lý, tất cả điều hướng đều được quan tâm và dll của họ chỉ phải lo lắng về logic miền của riêng họ.

1

Luôn có cách dll để bạn xác định một số giao diện bổ sung theo.

Nhưng đối với ứng dụng web, đặc biệt là ASP.NET MVC, bạn cần có bộ điều khiển, chế độ xem và như vậy. Có lẽ đây có thể được bao gồm trong một tập tin dll bằng cách sử dụng nhà máy điều khiển chuẩn bị để xử lý đó, nhưng nó sẽ là khó khăn để phát triển các plugin. Một số nguồn cảm hứng cho nội dung được nhúng mã (hoặc db): Haacked about that

ASP.NET MVC phiên bản 2 sẽ hỗ trợ các phần của ứng dụng vào các thư mục khác nhau trong ứng dụng. Bằng cách này, bạn chỉ có thể tải lên một số tệp và ứng dụng sẽ nhận ra những tệp mới này.Đọc thêm ở đó Haacked blog

0

PS: Tôi tìm thấy một người khác ở đây trên S.O. hỏi cùng một câu hỏi với tôi: Plug-in architecture for ASP.NET MVC Nó có thể hữu ích cho ai đó nghiên cứu cùng một chủ đề.

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