2009-10-01 21 views

Trả lời

13

Zend Framework là một khung công tác sử dụng tại chỗ, cho phép bạn sử dụng một số thành phần của nó. Bạn thậm chí có thể sử dụng một số thành phần trong một ứng dụng được xây dựng bằng cách sử dụng một số khung khác nhau. Theo cách này, khung sử dụng sẽ giống như một thư viện lớp học. *

Khuôn khổ đầy đủ có nghĩa là sử dụng bất kỳ phần nào của nó phụ thuộc vào bạn sử dụng tất cả. Ví dụ, bạn phải sử dụng thư viện truy cập dữ liệu của khung công tác, kiến ​​trúc MVC, giàn giáo tạo mã, vv và tất cả các thành phần này dựa vào nhau để cùng nhau tạo thành khuôn khổ hoàn chỉnh.

Hãy bình luận của bạn: Có, khớp nối là một cách để xem xét nó. Tôi xem nó như là một sự cân bằng giữa các giả định và tính linh hoạt. Một khuôn khổ full-stack giả sử bạn đang sử dụng toàn bộ khung công tác với nhau, và từ giả định đó nó có thể làm cho một số phép thuật thêm xảy ra.

ZF được thiết kế để giảm thiểu các giả định (có nghĩa là, giảm thiểu khớp nối). Các thành phần của nó đưa ra một vài giả định về việc liệu bạn có đang sử dụng phần còn lại của các thành phần, giảm sự phụ thuộc nhưng tăng tính linh hoạt hay không. Nhưng ít giả định có nghĩa là ít phép thuật hơn.

Cả hai kiểu khung đều có lợi thế hợp pháp.


* Một khác biệt chính giữa thư viện lớp đơn giản và khung là khuôn khổ được dự định mở rộng. Bạn được khuyến khích tăng cường chức năng của một khung công tác thông qua các cơ chế OO như phân lớp hoặc đa hình. Trong khi thư viện lớp có thể giả sử bạn sẽ sử dụng API của nó như là, không mở rộng chức năng của nó.

+0

Ồ, tôi hiểu. Vì vậy, nó có vẻ giống như chồng đầy đủ là tương tự như chặt chẽ cùng. Nghe có vẻ khủng khiếp;) Cảm ơn! –

+1

Khi bạn nói ma thuật, bạn có nghĩa là bạn phải viết mã ít hơn, bởi vì khung làm cho các giả định và xử lý nhiều hơn cho bạn một cách tự động? –

+1

Ví dụ, một bộ điều khiển MVC có thể tìm kiếm các kịch bản lệnh Xem và các lớp Mô hình trong một thư mục nhất định và sử dụng một quy ước đặt tên tệp nhất định. Nếu các tệp tồn tại và có tên lớp phù hợp, chúng sẽ tự động được tải và sử dụng. Không yêu cầu mã - miễn là bạn tuân theo quy ước của khung công tác. Nhiều quy ước là có thể ngoài các quy ước đặt tên tệp, ví dụ các bảng và cột cơ sở dữ liệu phải được đặt tên theo một cách nhất định. Những ý tưởng này có liên quan đến "quy ước về cấu hình" hoặc "lập trình được đề xuất". –

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