Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

I/ Giӟi thiӋu vӅ mô hình MVC u 

?  
   

   

- MVC viӃt tҳt tӯ cөm tӯ Model-View-Controller
- MVC lҫn đҫu đưӧc sӱ dөng vào năm 1979 trong ӭng dөng Smalltalk.Nó đưӧc phát
triӇn bӣi Trygve Reenskaug
- Ngày nay vӟi sӵ phát triӇn cӫa công nghӋ,mӝt ӭng dөng có thӇ đưӧc tách thành nhiӅu
phҫn (layer) và chúng đưӧc chҥy ӣ trên nhiӅu máy tính khác nhau,chҷng hҥn như: tҫng
giao diӋn (The presentation/User Interface) ,tҫng nghiӋp vө (Business logic/Controller),
tҫng truy xuҩt dӳ liӋu (data access model). Mô hình MVC ra đӡi đӇ đáp ӭng cho nhӳng
yêu cҫu trên,và nó đưӧc chӑn làm kiӃn trúc triӇn khai trên các ӭng dөng web application.
- Trong ӭng dөng web application thì:
+ Tҫng View: là các trang HTML/XHTML
+ Tҫn Controller: đóng vai trò trung gian trong viӋc bҳt sӵ kiӋn (event) do ngưӡi dùng
tương tác trên tҫng giao diӋn (View Layer),sau đó ӭng vӟi các sӵ kiӋn này nó sӁ đánh
thӭc các xӱ lý nghiӋp vө tương ӭng ӣ tҫng nghiӋp vө (Model Layer).KӃt quҧ nhұn đưӧc
sau khi xӱ lý sӁ đưӧc gӱi trҧ lҥi tҫng giao diӋn
+ Tҫng Model: đóng vai trò trong viӋc xӱ lý tҩt cҧ các thao tác nghiӋp vө,tӯ viӋc truy
xuҩt cơ sӣ dӳ liӋu,tính toán kӃt quҧ trҧ vӅ«
- Mӝt sӕ framework sӱ dөng mô hình MVC: Swing, Struts, Tapestry, Spring MVC
Framework, ASP.NET MVC Framework, PureMVC Framework for Actionscript,
CakePHP«

I.1/ Lӧi ích cӫa viӋc sӱ dөng mô hình MVC

- Tách biӋt rõ ràng nhiӋm vө cӫa tӯng layer: model-view-controller => giúp cho viӋc
phân công công viӋc trong nhóm (work team) đưӧc dӉ dàng.
- Mang lҥi hiӋu quҧ cao trong viӋc tә chӭc và tái sӱ dөng lҥi code.Chҷng hҥn như vӟi
kiӃn trúc tә chӭc cӫa model thì kӃt quҧ trҧ vӅ là trung lұp,nó không theo 1 chuҭn
formatting (danh sách chuӛi,XML,JSON«) nào cҧ => có thӇ tái sӱ dөng lҥi cho các tҫng
View ӣ ӭng dөng khác. u  ?   ? 
   !"? 
- Tính dӉ thay đәi (modifiability) tҫng View hay tҫng Model nӃu có nhu cҫu vì mӛi tҫng
nay hoàn toàn tách biӋt và không có mӕi ҧnh hưӣng ràng buӝc vӟi nhau.
- Thông thưӡng,HTTP protocol truyӅn tham sӕ request theo kiӇu chuӛi thông thưӡng,và
chuӛi này phҧi đưӧc chuyӇn đәi (convert) sang các đӏnh dҥng (format) thích hӧp tùy theo
mӛi ӭng dөng.Công viӋc này đòi hӓi tӕn nhiӅu thӡi gian và dӉ gây ra lӛi.Vӟi kiӃn trúc
Model cӫa mô hình MVC,dӳ liӋu này sӁ tӵ đӝng đưӧc convert thành giá trӏ cӫa các biӃn
thuӝc tính trong lӟp đӕi tưӧng.

I.2/ Bҩt lӧi cӫa mô hình MVC u   #    $%&


?   ?   
 !"? 
cc Struts 2
II.1/ Giӟi thiӋu vӅ Struts 2
- Vào tháng 12/2005, Struts và webwork framework đã đưӧc kӃt hӧp vӟi nhau đӇ phát triӇn nên
Struts 2 Framework. Struts 2 Framework rҩt thích hӧp và dӉ dàng mӣ rӝng đӇ phát triӇn các ӭng
dөng web vӟi mӭc đӝ khác nhau
- Trang chӫ: http://struts.apache.org/2.x/

- Apache Struts 2 requires:

ß Servlet API 2.4


ß JSP API 2.0
ß Java 5

II.2/ Lӧi ích cӫa Struts 2 framework: u   ?  


  
   "?(  "? 
- Struts 2 đưӧc xây dӵng và phát triӇn dӵa trên nӅn tҧng mô hình MVC nên nó thӯa
hưӣng đưӧc đҫy đӫ các ưu điӇm mà mô hình MVC đem lҥi.
- DӉ dàng tùy chӍnh (customize) chu kǤ xӱ lý ( ' $() cho tӯng action

- Giҧi quyӃt hiӋu quҧ vҩn đӅ internationlization và localization trong các ӭng dөng web u   )     *    
$ ? (     
 (
- Tӵ đӝng chuyӇn đәi kiӇu dӳ liӋu chuӛi truyӅn thӕng trong tham sӕ request parameter    
  ($+  *
,   -
thành các đӕi tưӧng lӟp dӳ liӋu java => tiӃt kiӋm đưӧc thӡi gian và công sӭc cho các lұp   *     $   
  
  *

 
   .?    
trình viên   
$  /? (. 
     *
    
- Cung cҩp các thҿ tag,các themes và templates giúp cho viӋc làm giao diӋn GUI trӣ nên   *
        
  (
dӉ dàng,nhanh lҽ và tăng tính tái sӱ dөng.   

- Tính mӣ rӝng (Extensibility) cao thông qua viӋc hӛ trӧ các plug-in
- Hӛ trӧ portal
- Hӛ trӧ AJAX
- DӉ dàng tích hӧp vӟi Spring framework và Hibernate u    ҧi quyӃt vҩn đӅ
Dependency Injection
http://www.tincntt.com/tincntt/cms/vi/tutorials/d
ependency_injection_1.html

You might also like