2010-05-31 24 views
8

Câu hỏi khá đơn giản:Mẫu thiết kế nào là Codeigniter sử dụng?

Tôi biết rằng Codeigniter là một khung MVC - tuy nhiên mẫu thiết kế nào là Codeigniter sử dụng?

Từ cái nhìn đầu tiên có vẻ như Mặt tiền, nhưng tôi có thể sai.

Chỉnh sửa:

Có lẽ tôi nên mô tả Codeigniter cho những người không sử dụng.
Trong Codeigniter bạn có một khái niệm về một Controller và một Model, mỗi Model có một thư mục riêng biệt. Trong mỗi thư mục bạn tạo một tập tin: cart.php:

<?php 

class Cart { 
//... 
} 
?> 

Sau đó, bạn cũng có thể có một mô hình:

<?php 

class User { 
    function login(){...} 
} 
?> 

Bên trong giỏ hàng lớp, bạn có thể sử dụng chức năng đăng nhập trong Người dùng đơn giản bằng cách sử dụng $ this-> user-> login()

Tôi thấy điều này thú vị vì khung làm cho đối tượng của đối tượng User và lập trình viên không.

Trả lời

6

Trong Codeigniter bạn có khái niệm về Bộ điều khiển và Mô hình, mỗi mẫu có thư mục riêng biệt của riêng chúng.

Họ đã thiết lập lớp học chính của mình sao cho nó tìm kiếm các tệp bộ điều khiển và mô hình tương ứng, thậm chí nó có thể đệ quy. Điều này không liên quan gì đến bất kỳ mẫu thiết kế nào, nó chỉ là một tổ chức thư mục.

Tôi thấy điều này thú vị vì khung làm cho đối tượng của đối tượng Người dùng và lập trình viên không.

Yup, họ đã tạo nhiều thứ sẵn sàng và được sử dụng bất cứ lúc nào bạn muốn. Lớp Người dùng được sử dụng để kiểm soát toàn bộ hệ thống người dùng.

Về cơ bản, như bạn nói, các mẫu thiết kế chính được sử dụng là MVC, phần còn lại của những điều được điều khiển bởi khác nhau lõi lớp dành cho một nhiệm vụ cụ thể.

+0

Tôi cũng sẽ đóng dấu MVC trên Codeigniter - nhưng tôi không thấy được liệt kê trên http://en.wikipedia.org/wiki/Design_pattern_(computer_science) - điều mà tôi nghĩ là cần. Mặc dù tôi vẫn nghĩ rằng nó được mô hình hóa một chút sau Facade bởi vì thay vì có $ user-> login() bạn có một lớp duy nhất có các lớp con cơ bản ... mà chỉ xảy ra là lớp gọi. –

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