2013-05-17 25 views
5

Xin giải thích những gìzf2 - Zend Db - Model, Entity, Hydrator, Mapper, TableGateway làm gì và tất cả liên kết với nhau như thế nào?

  • Mẫu
  • Entity
  • TableGateway
  • Mapper
  • Hydrator

làmnó như thế nào tất cả các công trình cùng trong ứng dụng zf2.

vui lòng không cung cấp liên kết tới các bài viết trên blog. Tôi cần đơn giản hình ảnh lớn giải thích.


Theo như tôi hiểu chúng giống nhau :?

Model == Entity 
Hydrator == Mapper 

Trả lời

7

Nếu chúng tôi lấy ví dụ một bảng db. Sau đó:

  • Mô hình sẽ đại diện cho một lớp hàng mà biến lớp sẽ là cột.
  • Thực thể là cùng một khái niệm như Mô hình được sử dụng bởi Doctrine.
  • TableGateway là một phần từ Table Gateway pattern. Nó sẽ có thông tin về tên bảng. Đây là nơi mà tất cả các phương thức truy vấn sẽ được định vị. Được sử dụng trong tất cả zf2 examples.
  • Trình ánh xạ là một phần từ mẫu Data Mapper. Đó là cách nâng cao hơn trong việc xử lý cùng một vấn đề mà TableGateway đang làm.
  • Hydrator đang thay đổi kết quả hàng truy vấn chọn của bạn từ mảng thành đối tượng Mô hình. Nếu không được cung cấp thì zf2 sẽ sử dụng ArrayObject thay thế.
1

Mô hình có thể là một thực thể, nhưng đúng, mô hình là thực thể có logic nghiệp vụ bên trong. đối với hệ thống đơn giản, mô hình là một thực thể.

Mapper là một cách được sử dụng để đối phó với sự kiên trì đối tượng trong RDBMS, đó là một công cụ để chuyển đổi lẫn nhau giữa các thuộc tính đối tượng và cột hàng.

Hydrator là công cụ trao đổi dữ liệu giữa nguồn dữ liệu và đối tượng (mô hình hoặc thực thể), nguồn dữ liệu có thể là RDBMS hoặc một thứ khác (Dịch vụ Web, NoSQL, v.v.).

Người lập bản đồ chứa các giải pháp chi tiết hơn về sự kiên trì của RDBMS, chẳng hạn như tải Lười biếng, Caching, giao dịch v.v.

TableGateway là một abstracting với các bảng DB, nhưng bảng thường không phải là sự tồn tại của các đối tượng thế giới thực, nó cung cấp cho chúng ta một cách để truy cập dữ liệu quan hệ theo kiểu OOP.

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