2009-04-01 30 views
12

Như tiêu đề nói, tôi quan tâm để biết làm thế nào bạn thường cấu trúc các giải pháp ASP.NET của bạn.Cấu trúc tiêu biểu của giải pháp ASP.NET?

Tôi đặc biệt quan tâm đến giải pháp ASP.NET WebSite, nhưng thông tin về các loại khác (WebApplication, MVC) cũng có thể thú vị.

Một số câu hỏi cụ thể:

  • gì/bao nhiêu dự án/hội hiện các giải pháp chứa
  • làm thế nào để bạn đặt tên cho dự án thư viện lớp học của bạn
  • gì không gian tên làm bạn thường có
  • làm bạn có nhiều không gian tên cho mỗi dự án/hội đồng hoặc bạn có mối quan hệ chặt chẽ 1: 1
  • v.v.

Cảm ơn

Trả lời

4

Một trong những dự án của tôi trông giống như:

  • SLN
    • Sln.Core
    • Sln.Core.Test
    • Sln.Data
    • Sln.Data.Test
    • Sln.Web
    • Sln.Web.Test

Core là mô hình miền và dịch vụ miền, miễn là chúng có thể được thực hiện mà không cần phải kiên trì. Dữ liệu là lớp kiên trì, về cơ bản có nghĩa là định nghĩa FluentNHibernate và triển khai cụ thể các giao diện được xác định trong Core. Web là lớp front-end.

+0

bạn đọc được suy nghĩ của tôi. – craigmoliver

1

Tôi thường sử dụng tên của ứng dụng cho tên giải pháp (sử dụng loại dự án "Giải pháp" chung), sau đó có SolutionName.Site, SolutionName.Domain, SolutionName.Persistence, v.v ... cho các dự án chứa trong đó. Dường như nó dễ dàng hơn để đối phó với tất cả các tài liệu tham khảo.

Tôi muốn xem câu trả lời của người khác. Trong khi đây là cách tốt nhất tôi đã tìm thấy tôi không thể lắc cảm giác rằng có thể có một tốt hơn.

3

Tôi đã làm điều gì đó tương tự như Tư pháp. Nhưng với các dự án ít hơn (và nhanh hơn thời gian biên dịch)

SLN

  • Project.Core
  • Project.Web
  • Project.Test Dự án

.Lõi sẽ trông giống như

  • Repository này
  • miền
  • Presenter
  • Dịch vụ
  • Xem
  • Common

tôi không thực sự có được một lợi ích từ nhiều (hơn hơn 3) dự án. Bạn không đạt được testablility, và thời gian biên dịch của bạn nhận được lâu hơn nữa.

Ngoài ra, điều đầu tiên tôi làm khi tôi nhận được một dự án trang Web là chuyển đổi nó thành một ứng dụng web. Nhưng nhìn chung, các dự án của tôi không thay đổi khi tôi chuyển đổi giữa các trang web và các ứng dụng web.

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