2009-08-13 60 views
5

Không ai biết một số ví dụ tốt cho một ứng dụng PHP sử dụng sau 4 "Layers"Mẫu PHP - Dịch vụ/Mẫu/Mapper/Ví dụ về Dao?

ServiceLayer --> Model --> DataMapper --> DAO

Tôi không chắc chắn nếu nó làm cho tinh thần nhưng khi tôi sử dụng một thiết kế như vậy tôi phải làm như sau để tạo mới ghi trong cơ sở dữ liệu của tôi:

$servcie = new Service(new Mapper(new Dao)); 
$service->save($data) 

các dịch vụ được tạo ra một đối tượng dữ liệu mới và đi qua nó vào Mapper, các Mapper là đi qua các dữ liệu để người Dao cung cấp ..

w mũ là ý định sử dụng cấu trúc như vậy?

Tại sao không chỉ đơn giản là:

$model = new Model(); 
$model->save($data) 

Model được tiết kiệm để DB.

Trả lời

3

Lý tưởng nhất là mô hình không có gì liên quan đến cách được lưu trữ hoặc quản lý. Nó phải là một đại diện thuần túy và di động của dữ liệu (lý tưởng, thường không phải như vậy trong thực tế). Bộ điều khiển (hoặc một bộ điều khiển phụ chuyên dụng) phải là bộ điều khiển chức năng này cho mô hình.