Tôi hiện đang đối mặt với một câu hỏi hóc búa: Cách phù hợp để kết nối với nhau 2 đối tượng javascript là gì?Cách phù hợp để nối hai đối tượng javascript với nhau là gì?
Hãy tưởng tượng một ứng dụng như trình chỉnh sửa văn bản với nhiều tệp khác nhau. Tôi có một số trang HTML đại diện cho quan điểm cho sổ ghi chép. Tôi có tệp notebook.js chứa các định nghĩa lớp cho NotebookController và Notebook View.
NotebookĐối tượng đối tượng chịu trách nhiệm thực hiện logic nghiệp vụ trên Notebook như "Lưu sổ ghi chép", "Tải sổ ghi chép", "Sổ tay mới". NotebookView chịu trách nhiệm quản lý HTML được sử dụng để trình bày. Nó hoạt động ở mức độ thấp như "get/set notebook body" "lấy/đặt tên sổ ghi chép." Nó cũng lắng nghe các sự kiện DOM (onClick) và kích hoạt các sự kiện kinh doanh (saveNotebook). Đây là nỗ lực của tôi ở mẫu Chế độ xem thụ động.
Tôi muốn mã phía máy khách javascript của tôi hướng đối tượng, phân tách mối quan tâm và đơn vị có thể kiểm chứng. Tôi muốn thử nghiệm NotebookController với NotebookView giả lập và ngược lại. Điều này có nghĩa là tôi không thể khởi tạo NotebookView bên trong NotebookController. Vì vậy, làm tôi
- Đặt một số logic trong notebook.js tôi rằng dây 2 cùng
- Có một chức năng toàn cầu trong ứng dụng của tôi mà biết để nhanh chóng một trong mỗi và dây chúng lại với nhau
- Sử dụng Dependency Injection, hoặc là một trang trại được trồng tại nhà hoặc giống như SquirrelIoc
Trong Java, lựa chọn là tự nhiên: sử dụng Spring. Nhưng điều đó dường như không phải là JavaScript-y. Điều phải làm là gì?
Có lẽ tôi đang thiếu một cái gì đó, nhưng bạn không thể đạt được bằng cách chỉ testability đảm bảo rằng bạn đang sử dụng tập hợp thay vì thành phần? –
Đó là ý tưởng. Nhưng câu hỏi thực sự là cách phù hợp để kết hợp các vật thể đó là gì? –