Các thực hành chính và các mẫu thiết kế mà mọi chàng trai .NET nên biết là gì? [đóng cửa]


16

Trong thời gian ngắn làm lập trình viên chuyên nghiệp, tôi đã thấy rất nhiều ứng dụng được viết bởi các lập trình viên mà toàn bộ nền giáo dục dường như đã đọc vài chương đầu tiên trong một cuốn sách .NET 2.0.

Heck khi tôi bắt đầu tôi đã viết hầu hết các ứng dụng đó!

Các mẫu thiết kế lớn nhất rất quan trọng để viết các ứng dụng AWESOME .NET là gì?

Ý tôi là tuyệt vời ở bên trong


Không có gì là quan trọng.
kirk.burleson

Câu trả lời:


22

Thứ nhất: Biết rõ các công cụ cơ bản của bạn

  1. Biết mô hình sự kiện ASP.Net. Bạn sẽ gặp rắc rối nếu bạn không.

  2. Hiểu các cơ chế của OO. Một số lượng đáng ngạc nhiên của các lập trình viên .Net tương đối có kinh nghiệm dường như vẫn nghĩ rằng đó là năm 1972.

  3. Bắt đầu đọc Mã hoàn thành.

Thứ hai: Học cách tách biệt mối quan tâm

Tội phạm thiết kế phổ biến nhất mà tôi thấy trong quá trình phát triển ASP.Net là nhét tất cả logic kinh doanh vào mã phía sau. Tôi biết rằng tất cả các ví dụ của Microsoft làm theo cách đó. Tôi biết nó là hợp lý trên các ứng dụng nhỏ. Và tôi biết đôi khi tôi làm theo cách đó. Nhưng thực sự, nó là thiết kế tồi, và là thú cưng của tôi trong tuần.

Thứ ba: Tìm hiểu mọi thứ khác về thiết kế

Hầu hết các mã .Net kém chất lượng mà tôi thấy là kết quả của thiết kế OO kém. Do đó, tôi khuyên bạn nên hiểu rõ về:

  • Nguyên tắc RẮN
  • Các mẫu thiết kế của GoF
  • MVC (cho ASP.Net MVC)

Thứ tư: Tìm hiểu thêm các công cụ

Bạn có biết Microsoft làm mọi thứ dễ dàng như thế nào bằng cách cung cấp nhiều công cụ vượt trội không? Chà, bạn sẽ sớm đạt được những hạn chế của họ. Khi bạn làm thế, bạn sẽ phải uốn cong chúng theo ý muốn hoặc tự mình lăn. Dù bằng cách nào, bạn sẽ phải xuống cấp với một số CSS và Javascript.

Cuối cùng

Một khi bạn đã làm được điều đó, bạn đang trên đường trở nên tuyệt vời.

[Chỉnh sửa: Đã sửa lỗi trình tự học sutff này. Rõ ràng tôi không thể đếm ngày hôm qua ...]


"Khi bạn làm như vậy, bạn sẽ phải uốn cong chúng theo ý muốn hoặc tự lăn" Hoặc sử dụng một cái gì đó Nguồn mở. Tuy nhiên, +1, câu trả lời hay
pdr

Cảm ơn .. Câu trả lời thực sự tuyệt vời :-) nhưng tất cả những gì nổi bật về mvvm, ioc, mvp, kho lưu trữ, nhà máy ... Chèn bất kỳ từ thông dụng lớn nào khác vào đây .. cách tiếp cận "microsoft may mắn" hiện tại để xây dựng ứng dụng web là gì?
Daniel Upton

3
MVVM - (hiện tại) một mẫu thiết kế rất đặc trưng của WFP / Silverlight. MVP - một mô hình tương tự như MVC, với một số khác biệt trong tương tác giữa các lớp / lớp. Các kho / nhà máy / IOC - nên được trình bày trong phần đọc của bạn cho "Thứ ba" ở trên, chúng liên quan đến việc phân tách các mối quan tâm, nguyên tắc DRY và thiết kế có thể kiểm tra được. Phương pháp "may mắn của Microsoft" - phụ thuộc vào nhu cầu của bạn là gì. Xu hướng hiện tại chắc chắn là MVC3, đi một chặng đường dài để cho phép thiết kế "tốt" với ít rắc rối hơn, với IOC / DI dễ dàng, bộ điều khiển có thể kiểm tra, v.v.
mjhilton

3
@Daniel Chắc chắn có rất nhiều từ thông dụng ngoài kia. Điều quan trọng nhất bạn có thể làm là tìm hiểu chúng là gì và loại vấn đề nào chúng có thể giúp bạn giải quyết. Đừng mắc vào cái bẫy của việc ghép toàn bộ ứng dụng của bạn vào một tập các mẫu thiết kế không thêm giá trị trong lĩnh vực bảo trì hoặc tệ hơn - rất khó hiểu (đôi khi rất nhiều để bạn không thể nhớ điều gì 6 tháng sau khi bạn viết nó). Hãy để các mẫu áp dụng giúp bạn làm cho các vấn đề phức tạp trở nên đơn giản hơn.
Michael Dean

1
@Daniel: Tôi thực sự sẽ không lo lắng quá nhiều về cách tiếp cận "Microsoft may mắn". Thiết kế tốt là thiết kế tốt cho dù ai ban phước cho nó. Trong thực tế, Microsoft thường chơi trò đuổi bắt trong lĩnh vực này (ví dụ, ASP.Net MVC như một phản ứng với các khung MVC khác). Điều đó nói rằng, bạn cần phải biết về công nghệ Micosoft . Thiết kế tuyệt vời đã được biết là thất bại vì chúng không phù hợp với bộ công cụ có sẵn.
Kramii phục hồi Monica

0

Sự đa dạng của các điểm được đề cập bởi Kramii đều rất đáng giá, nhưng tôi muốn nhấn mạnh đến việc đề cập đến việc làm việc với các nguyên tắc RẮN. Hiểu rõ về những điều này sẽ tạo ra sự khác biệt lớn, và nhiều mô hình GoF, vv sẽ bắt đầu rơi ra một cách tự nhiên hơn. Phần lớn những thứ này cuối cùng là về việc tách biệt mối quan tâm của bạn và quản lý các phụ thuộc của bạn, vì vậy hãy bắt đầu từ nguồn và mọi thứ khác sẽ có ý nghĩa.

Nếu bạn giống như tôi trước khi tham gia khóa học mã hóa OO gần đây của tôi với JP Boodhoo, nguyên tắc trách nhiệm duy nhất có nghĩa là nhiều hơn bạn nghĩ! Nó thực sự đáng để hiểu làm thế nào một lớp học nhỏ có thể được khi bạn gắn bó tốt với điều này.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.