Tôi gặp sự cố khi giải quyết thực hành thích hợp cho mã JavaScript UI. Vì vậy, tôi đang tìm kiếm một cách thông minh hơn để làm việc. Tôi đã sử dụng jQuery với ASP.NET và tôi đã làm những việc như dưới đây mà dường như không chuyên nghiệp và câm. Lập trình UI JavaScript luôn là một bí ẩn đối với tôi. Tôi biết làm thế nào để làm điều đó nhưng tôi không bao giờ biết làm thế nào để làm điều đó đúng.Cách tốt nhất để kiến trúc mã JavaScript UI với ASP.NET về tái sử dụng và logic encapulation?
$(function(){
$('submit').click(function() {
//behaviors, setup styles, validations, blah...
});
});
vấn đề:
- trùng lặp Mã thường do đó khó khăn hơn để duy trì và tái sử dụng
- Với clientIds được tạo ra bởi ASP.NET, thật khó để kéo khối mã vào file js riêng
- Tuyên bố chung được đặt trên trang chính, tuy nhiên chức năng sẵn sàng của tài liệu jQuery xuất hiện gần như trên mọi trang khác cũng như
Mục tiêu:
- thư viện JavaScript/khung độc lập, do đó nó sẽ được dễ dàng hơn để chuyển đổi các khuôn khổ xuống đường
- Encapsulate/điều chỉnh logic để tái sử dụng dễ dàng, do đó trên mỗi trang, nó sẽ chỉ có một vài dòng mã đơn giản khởi
- Tách mối quan tâm để bảo trì dễ dàng và khả năng đọc
Câu hỏi:
Là một nhà phát triển C# chủ yếu là suy nghĩ của tôi là rất OO và jQuery rất thủ tục. Tôi hiểu các khái niệm về chức năng ẩn danh tuy nhiên nói chung tâm trí của tôi vẫn đang cố gắng tạo ra một mô hình miền trừu tượng hóa giao diện người dùng sau đó khai báo các thuộc tính hoặc phương thức. Nhưng tôi thực sự không chắc chắn nếu đây là cách trong JavaScript. Hay tôi quá lý tưởng hoặc tôi đang cố gắng làm một thứ gì đó không phải là OO OO như thế nào? Vì vậy, các câu hỏi là:
- Tôi có nên bắt đầu đóng gói/điều chỉnh các chức năng bằng cách sử dụng JavaScript nguyên mẫu và làm cho nó một chút OO như thế nào? Vậy các điều khiển hoặc hành vi HTML có thể được đóng gói để tái sử dụng không?
- Hoặc tôi có nên bắt đầu đóng gói các tệp logic vào trình cắm thêm jQuery không? Nhưng theo cách này, mã sẽ phụ thuộc 100% vào jQuery.
- Hoặc bất kỳ phương pháp tiếp cận nào khác?
Cảm ơn bạn.
Đã cập nhật: Tôi vừa tìm thấy trang này slide và dường như đây là điểm khởi đầu tốt. Đây cũng là một số good example mà tôi vừa tìm thấy. Và một good tutorial bởi tác giả của jQuery.
Tôi biết nó sẽ được giải quyết trong ASP.NET 4.0. Nhưng tôi đang nói về việc phải làm gì và cách làm tốt nhất. – Jeff
Tốt thôi, tôi đã chỉ ra rằng có những lựa chọn thay thế nếu bạn đang ở trong một vị trí để chờ đợi hoặc thực hiện một thay đổi cơ sở hạ tầng lớn trong codebase của bạn. Bạn đã không xác định xem đây là một dự án greenfield hay brownfield hay bao nhiêu đòn bẩy bạn có trong các quyết định kiến trúc, vì vậy tôi đã đưa ra một vài gợi ý (ASP.NET 4.0 và ASP.NET MVC). –