2010-05-17 35 views
22

Tôi có câu hỏi chung về thiết kế Thư viện JavaScript.Thiết kế Thư viện JavaScript

Tôi đang cố gắng hợp nhất các phương thức phổ biến thành một tệp js để chúng có thể được sử dụng lại bởi các tập lệnh khác nhau.

Tôi đã xem xét cách thư viện JSON được cấu trúc và tin rằng đó là một cách tiếp cận tốt. JSON for Javascript.

Vì vậy, họ bắt đầu tạo ra một thể hiện của lớp:

if (!this.JSON) { 
    this.JSON = {}; 
} 

Sau đó họ làm điều này:.

(function() { 
    if (typeof JSON.stringify !== 'function') { 
     JSON.stringify = function (value, replacer, space) { 

này được hoạt động hoàn hảo nếu bạn chỉ muốn làm JSON [function_name], nhưng nếu tôi muốn có một thư viện có cấu trúc hơn như vậy mà tôi muốn: JSON. [subgroup]. [function]. Làm thế nào tôi sẽ cấu trúc thư viện JS của tôi theo cách như vậy?

Bất kỳ liên kết nào đến tài nguyên được đánh giá cao, cảm ơn.

Trả lời

42

Tôi khuyên bạn nên theo Mẫu mô-đun trong JavaScript thay vì tuân theo đúng mẫu của JSON. Nhóm con của bạn thực sự đang đề cập đến các mô-đun phụ. Hãy xem bài viết tuyệt vời sau đây:

Ben Cherry's JavaScript Module Pattern In-Depth

nguồn lực khác có lẽ bạn nên đi qua:

2

Có những vấn đề w ith mô hình mô-đun. Xem http://snook.ca/archives/javascript/no-love-for-module-pattern. Trước đây tôi từng sử dụng nó nhưng dừng lại. Bây giờ tôi chỉ có xu hướng giữ nó đơn giản. Nếu bạn thực sự muốn sub-namespacing bạn có thể thực hiện một chức năng không gian tên đơn giản cho công việc.

Xem http://blogger.ziesemer.com/2008/05/javascript-namespace-function.html

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