12/08/2018, 14:01

Mô hình MVC

Các bạn có thể tìm được rất nhiều tài liệu trên internet về MVC, ở đây tôi nói về MVC theo một cách cơ bản nhất mà ko quan tâm nhiều tới kỹ thuật implement nó , trước hết cần xem qua hình ảnh : Phương thức truyền dữ liệu Controller : giống như bộ phận tiếp tân, mọi giao dịch trước hết ...

Các bạn có thể tìm được rất nhiều tài liệu trên internet về MVC, ở đây tôi nói về MVC theo một cách cơ bản nhất mà ko quan tâm nhiều tới kỹ thuật implement nó , trước hết cần xem qua hình ảnh : MVC traditional.png

Phương thức truyền dữ liệu

mo-hinh-mvc.jpg

Controller: giống như bộ phận tiếp tân, mọi giao dịch trước hết phải đi qua nó. Giao dịch ở đây chính là dữ liệu do người dùng cung cấp cho ứng dụng. Controller tiếp nhận giao dịch phân tích và kiểm tra nó, sau đó chuyển tới bộ phận khác xử lý. Controller là điểm đầu tiên hết sức quan trọng của ứng dụng MVC. Trong MVC thì Controller chính là trái tim, nơi tiếp nhận mọi thứ từ browser truyển tới, xử lý rồi chuyển tới View tương ứng. Người dùng sẽ không biết được controller bên dưới làm gì, chỉ có lập trình viên quan tâm tới controller và mọi thứ sẽ bắt đầu từ đây.

Model: nơi dữ liệu sẽ được xử lý tùy theo chức năng của chương trình, nó được gọi là business logic. Model sẽ không làm nhiệm vụ chuyển tiếp mà sẽ trả kết quả về cho Controller.

View: nơi tiếp nhận yêu cầu là Controller, nhưng nơi giao tiếp với người dùng chính là View. Các thể hiện của giao diện người dùng được trình bày trên View, với dữ liệu tính toán từ Model và được chuyển tới nhờ Controller.

Ở trên là lý thuyết về MVC, phần sau là thực hành MVC cùng với Rails !

Rails là framework cung cấp cho lập trình viên cách thức làm web với nhiều tiện lợi thông qua việc sử dụng kiến trúc MVC, Trước tiên, cần đi qua cấu trúc của Rails :

screen-shot-2015-04-20-at-11-08-18-pm.png

Nói về Model, đã từ rất lâu rồi người ta mặc định rằng lập trình viên là phải biết SQL, trong Rails, kỹ năng này thực sự không cần thiết lắm (và đây là lý do mà tôi khuyến khích mọi người học Rails             </div>
            
            <div class=

0