SlideShare a Scribd company logo
KHẢO SÁT SPRING.NET
  I.    Giới thiệ u
Spring.Net là 1 framework hỗ trợ nhiều chức năng phức tạp cho việc phát triển các ứng dụng .Net.
Spring.Net giúp ta giảm số lượng dòng code, giúp ứng dụng dễ bảo trì và dễ test tự động hơn.

Spring.Net cài đặt sẵn các design pattern tiện dụng để ta có thể tích hợp dễ dàng vào ứng dụng của mình
mà không phải tốn nhiều thời gian để cài đặt lại các design pattern đó. Ví dụ như là module Inversion of
Control của Spring giúp ta tăng tính Loose Coupling cho ứng dụng của mình.

Các chức năng mà Spring.Net cung cấp :

        Dependency Injection
        Aspect-Oriented Programming
        Data access support including support for NHibenrate (ORM framework)
        Web Framework
        Integration Testing
        Validation Framework
        Dynamic Reflection
        Threading and Concurrency Support
        Object Pooling
        Expression Evaluation
        Services
        …


 II.    Các modules

Các chức năng trong Spring.Net được sắp xếp vào các module như hình sau :
1. Spring.Core

Là thành phần cơ bản nhất trong Spring cho phép ta cấu hình ứng dụng của mình bằng Dependency
Injection (Inversion of Control) .

Giả sử ta có 2 lớp A và B. Lớp A cần sử dụng 1 số phương thức của lớp B do đó A phụ thuộc vào B.

                                A                              B



Nhưng lớp B có nhiều cách cài đặt. Do đó ta sẽ thay đổi cách cài đặt lại như sau : ta tạo 1 Interface cho B,
các cách cài đặt khác của B sẽ kế thừa Interface này ( B1, B2)

                                A                              IB

                                                               B
                                     create



                                                     B1                 B2

Với cách cài đặt này ta có thể dễ dàng thay đổi việc A phụ thuộc B1 hoặc B2. Tuy nhiên để thực hiện việc
thay đổi này ta phải chỉ nh sửa lại code do đó phải biên dị ch lại chương trình gây khó khăn cho việc cấu
hình ứng dụng.
Do đó Spring.net cung cấp cho ta chức năng Dependency Injection giúp việc cấu hình này dễ dàng hơn
mà không phải biên dị ch lại chương trình. Các thông tin cấu hình được lưu trên file xml tách rời khỏi ứng
dụng. Spring.Net sẽ dựa vào thông tin này để gắn (inject) các phụ thuộc (dependency) giữa các đối tượng
giùm ta.
Ngoài ra module Spring.Core còn tích hợp 1 số chức năng sau :

   -   Expression language
   -   Validation framework
   -   Data binding framework
   -   Dynamic reflection
   -   Threading
   -   Resource abstraction

   2. Spring.Aop

Dùng module này ta có thể xây dựng ứng dụng theo kiến trúc Aspect-Oriented Programming (AOP).

   3. Spring.Data

Dùng module này giúp đạt hiệu quả cao hơn và ổn đị nh hơn khi viết chức năng kết nối dữ liệu bằng
ADO.Net

   4. Spring.Data.Nhibernate

Dùng module này để tích hợp Spring với Nhibernate

   5. Spring.Web

Moduel Spring.Web cung cấp cho ta những chức năng sau cho việc lập trình với ASP.Net

   -   Depedency Injection : hỗ trợ chức năng Dependency Injection cho các thành phần trong ASP.Net
       ( page, control, module, provider, HTTP handler)
   -   Bi-directional data binding : chức năng này giúp ta chỉ ra dữ liệu nào sẽ được đặt vào các
       control khi hiện trang web lên cho người dùng xem và các dữ liệu đó sẽ được trả lại từ các
       control khi trang web được submit. Điều này giúp ta giảm 1 lượng lớn các đoạn code chán ngắt
       nhưng dễ gây lỗi khi lập trình.
   -   Web object scopes : chức năng này giúp đị nh nghĩa các đối tượng thuộc phạm vi nào : request,
       session, application.
   -   Data model management : cung cấp chức năng tương tự nhưng tốt hơn chức năng “view state”
       của ASP.Net
   -   Validation framework : chức năng này giúp ta thực hiện việc validate trên các control dễ dàng
       mà không phải code quá nhiều
   -   Result mapping : các url thường được lưu thẳng trong code gây khó khăn cho việc thay đổi sau
       này. Với chức năng này ta sẽ đị nh nghĩa ra các tên dễ nhớ hơn và gắn nó với các url tương ứng.
       Các đị nh nghĩa này được lưu trên file xml tiện cho việc thay đổi .
   -   Localization và Master page : chức năng này giúp dễ dàng cho việc đị a phương hóa ứng dụng và
       hợ trợ master page tốt hơn
6. Spring.Web.Extension

Hỗ trợ chức năng AJAX tốt hơn

   7. Spring.Services

Kết hợp các chức năng DI và AOP cho việc sử dụng service

   8. Spring.Testing.Nunit

Dùng module này để thực hiện việc testing với NUnit


III.   Nhậ n xét
Framework Spring.Net cung cấp nhiều chức năng tiện lợi cho việc xây dưng 1 ứng dụng lớn. Nhưng để sửa
dụng tốt nó cần tìm hiểu nhiều hơn. Việc cấu hình trên file xml không đơn giản do thiếu công cụ hỗ trợ
(IntelliSense, kiểm tra lỗi …).

Ngoài ra nên tìm hiểu thêm về cách tích hợp các kiến trúc MVC, MVP với Spring.Net để xây dựng ứng
dụng tốt hơn.


IV.    Tham khảo

   -   Spring.net documentation
   -   Các bài viết về cách dung Dependency Injection và AOP của Spring.Net, kiến trúc MVC, MVP -
       http://nthoai.blogspot.com/search/label/Spring.NET
   -   Spring.Net – QnA - http://www.infoq.com/articles/SpringDotNET-QnA
   -   Dependency Injection for Loose Coupling - Billy McCafferty -
       http://www.codeproject.com/KB/architecture/DependencyInjection.aspx

More Related Content

PPTX
Spring framework
PDF
Spring mvc
PDF
Aspnet 3.5_03
PPTX
Mô hình MVC trong lập trình web với Java
PPTX
Mvc 3
PDF
Sof301 slide1
PDF
Asp.net 3.5 _1
PPTX
Mô hình mvc trong ASP
Spring framework
Spring mvc
Aspnet 3.5_03
Mô hình MVC trong lập trình web với Java
Mvc 3
Sof301 slide1
Asp.net 3.5 _1
Mô hình mvc trong ASP

Viewers also liked (20)

PPTX
East india securities rating advisory wc
PPT
C:\Fakepath\Theft Control
PPT
Commission recherche, renforcement de capacité, formation - Ecovillage Madaga...
PPT
Lucas thankful
PPTX
Evaluation of Main Task
PPT
Aprianti
PPTX
ülkeler
PPTX
The Mulberry House School Improvement Plan 2013
PPT
Creating Narrow Listening Libraries (Joint)
ODP
WordPress 3.0 and BuddyPress
PDF
Design for Networks
ODP
Conception émergente
PDF
Poster yener fatma
PPT
Ung dung web chuong 8
PPT
Carson thankful
PDF
Bach cuoc tuong_ky_pho
PPT
The Big Miracle vocabulary
PPT
Ellie thankful
PPTX
Launch of Museum Development East Midlands' Digital Strategies programme June...
PPS
46fotosdanationalgeographic
East india securities rating advisory wc
C:\Fakepath\Theft Control
Commission recherche, renforcement de capacité, formation - Ecovillage Madaga...
Lucas thankful
Evaluation of Main Task
Aprianti
ülkeler
The Mulberry House School Improvement Plan 2013
Creating Narrow Listening Libraries (Joint)
WordPress 3.0 and BuddyPress
Design for Networks
Conception émergente
Poster yener fatma
Ung dung web chuong 8
Carson thankful
Bach cuoc tuong_ky_pho
The Big Miracle vocabulary
Ellie thankful
Launch of Museum Development East Midlands' Digital Strategies programme June...
46fotosdanationalgeographic

Similar to 5.spring.net (20)

PDF
429157477-Slide-Bao-Cao.pdf
PPTX
Tài liệu hướng dẫn sử dụng framework Spring MVC
PDF
Asp.net mvc framework qua cac vi du
PPTX
Tổng quan về struts framework, mvc
PDF
Lập trình web asp.net MVC
DOC
Chapter9
DOC
Chapter9
PPTX
Phat trien ung dung tren dien toan dam may
PDF
Luận văn: Tích hợp dịch vụ nghiệp vụ ngân hàng theo mô hình soa
DOC
Tailieu.vncty.com giao-trinh-sql-2000
PDF
01 chuong01tongquanveasp netmvc5
PPT
Web Architecture
DOCX
Windows Aruze
PDF
Tu hoc microsoft asp.net
DOCX
Thương mại điện tử
DOC
Báo cáo thực tập chuyên nghành lập trình Android GPSGroup
PDF
Hoc sql server 2000
PDF
Tu hoc SQL 2000
PPT
Baocao ltm
PDF
Asp net
429157477-Slide-Bao-Cao.pdf
Tài liệu hướng dẫn sử dụng framework Spring MVC
Asp.net mvc framework qua cac vi du
Tổng quan về struts framework, mvc
Lập trình web asp.net MVC
Chapter9
Chapter9
Phat trien ung dung tren dien toan dam may
Luận văn: Tích hợp dịch vụ nghiệp vụ ngân hàng theo mô hình soa
Tailieu.vncty.com giao-trinh-sql-2000
01 chuong01tongquanveasp netmvc5
Web Architecture
Windows Aruze
Tu hoc microsoft asp.net
Thương mại điện tử
Báo cáo thực tập chuyên nghành lập trình Android GPSGroup
Hoc sql server 2000
Tu hoc SQL 2000
Baocao ltm
Asp net

More from Giang Nguyễn (20)

PDF
Php can ban_bai1_laptrinhwebphp.com
PDF
Os xmldomphp
PDF
Os php-7oohabits
PDF
Os php-5.3new1
PDF
Lap trinh web dong voi php my sql
PDF
Kentcources 110109221507-phpapp01
PDF
Php day4
PDF
Hay php architect eav modeling
PDF
Haiphongit.com.tai lieu-php.my sql-thiet-ke-web-dong
PDF
Haiphongit.com.tai lieu-laptrinh ph-pvamysql
PDF
Chuong07 php
PDF
Bai th08 php voi csdl
PDF
Haiphongit.com.tai lieu-learning-php-my sql
PDF
Hd lap pttkht2008
PDF
Joomla administratormanual vi_20060206
PDF
Canbanvethietkevalaptrinhgame
PDF
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menu
PDF
Eclipse pdt indigo release review
PDF
Bai tap lap trinh web voi joomla csau
Php can ban_bai1_laptrinhwebphp.com
Os xmldomphp
Os php-7oohabits
Os php-5.3new1
Lap trinh web dong voi php my sql
Kentcources 110109221507-phpapp01
Php day4
Hay php architect eav modeling
Haiphongit.com.tai lieu-php.my sql-thiet-ke-web-dong
Haiphongit.com.tai lieu-laptrinh ph-pvamysql
Chuong07 php
Bai th08 php voi csdl
Haiphongit.com.tai lieu-learning-php-my sql
Hd lap pttkht2008
Joomla administratormanual vi_20060206
Canbanvethietkevalaptrinhgame
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menu
Eclipse pdt indigo release review
Bai tap lap trinh web voi joomla csau

5.spring.net

  • 1. KHẢO SÁT SPRING.NET I. Giới thiệ u Spring.Net là 1 framework hỗ trợ nhiều chức năng phức tạp cho việc phát triển các ứng dụng .Net. Spring.Net giúp ta giảm số lượng dòng code, giúp ứng dụng dễ bảo trì và dễ test tự động hơn. Spring.Net cài đặt sẵn các design pattern tiện dụng để ta có thể tích hợp dễ dàng vào ứng dụng của mình mà không phải tốn nhiều thời gian để cài đặt lại các design pattern đó. Ví dụ như là module Inversion of Control của Spring giúp ta tăng tính Loose Coupling cho ứng dụng của mình. Các chức năng mà Spring.Net cung cấp : Dependency Injection Aspect-Oriented Programming Data access support including support for NHibenrate (ORM framework) Web Framework Integration Testing Validation Framework Dynamic Reflection Threading and Concurrency Support Object Pooling Expression Evaluation Services … II. Các modules Các chức năng trong Spring.Net được sắp xếp vào các module như hình sau :
  • 2. 1. Spring.Core Là thành phần cơ bản nhất trong Spring cho phép ta cấu hình ứng dụng của mình bằng Dependency Injection (Inversion of Control) . Giả sử ta có 2 lớp A và B. Lớp A cần sử dụng 1 số phương thức của lớp B do đó A phụ thuộc vào B. A B Nhưng lớp B có nhiều cách cài đặt. Do đó ta sẽ thay đổi cách cài đặt lại như sau : ta tạo 1 Interface cho B, các cách cài đặt khác của B sẽ kế thừa Interface này ( B1, B2) A IB B create B1 B2 Với cách cài đặt này ta có thể dễ dàng thay đổi việc A phụ thuộc B1 hoặc B2. Tuy nhiên để thực hiện việc thay đổi này ta phải chỉ nh sửa lại code do đó phải biên dị ch lại chương trình gây khó khăn cho việc cấu hình ứng dụng. Do đó Spring.net cung cấp cho ta chức năng Dependency Injection giúp việc cấu hình này dễ dàng hơn mà không phải biên dị ch lại chương trình. Các thông tin cấu hình được lưu trên file xml tách rời khỏi ứng dụng. Spring.Net sẽ dựa vào thông tin này để gắn (inject) các phụ thuộc (dependency) giữa các đối tượng giùm ta.
  • 3. Ngoài ra module Spring.Core còn tích hợp 1 số chức năng sau : - Expression language - Validation framework - Data binding framework - Dynamic reflection - Threading - Resource abstraction 2. Spring.Aop Dùng module này ta có thể xây dựng ứng dụng theo kiến trúc Aspect-Oriented Programming (AOP). 3. Spring.Data Dùng module này giúp đạt hiệu quả cao hơn và ổn đị nh hơn khi viết chức năng kết nối dữ liệu bằng ADO.Net 4. Spring.Data.Nhibernate Dùng module này để tích hợp Spring với Nhibernate 5. Spring.Web Moduel Spring.Web cung cấp cho ta những chức năng sau cho việc lập trình với ASP.Net - Depedency Injection : hỗ trợ chức năng Dependency Injection cho các thành phần trong ASP.Net ( page, control, module, provider, HTTP handler) - Bi-directional data binding : chức năng này giúp ta chỉ ra dữ liệu nào sẽ được đặt vào các control khi hiện trang web lên cho người dùng xem và các dữ liệu đó sẽ được trả lại từ các control khi trang web được submit. Điều này giúp ta giảm 1 lượng lớn các đoạn code chán ngắt nhưng dễ gây lỗi khi lập trình. - Web object scopes : chức năng này giúp đị nh nghĩa các đối tượng thuộc phạm vi nào : request, session, application. - Data model management : cung cấp chức năng tương tự nhưng tốt hơn chức năng “view state” của ASP.Net - Validation framework : chức năng này giúp ta thực hiện việc validate trên các control dễ dàng mà không phải code quá nhiều - Result mapping : các url thường được lưu thẳng trong code gây khó khăn cho việc thay đổi sau này. Với chức năng này ta sẽ đị nh nghĩa ra các tên dễ nhớ hơn và gắn nó với các url tương ứng. Các đị nh nghĩa này được lưu trên file xml tiện cho việc thay đổi . - Localization và Master page : chức năng này giúp dễ dàng cho việc đị a phương hóa ứng dụng và hợ trợ master page tốt hơn
  • 4. 6. Spring.Web.Extension Hỗ trợ chức năng AJAX tốt hơn 7. Spring.Services Kết hợp các chức năng DI và AOP cho việc sử dụng service 8. Spring.Testing.Nunit Dùng module này để thực hiện việc testing với NUnit III. Nhậ n xét Framework Spring.Net cung cấp nhiều chức năng tiện lợi cho việc xây dưng 1 ứng dụng lớn. Nhưng để sửa dụng tốt nó cần tìm hiểu nhiều hơn. Việc cấu hình trên file xml không đơn giản do thiếu công cụ hỗ trợ (IntelliSense, kiểm tra lỗi …). Ngoài ra nên tìm hiểu thêm về cách tích hợp các kiến trúc MVC, MVP với Spring.Net để xây dựng ứng dụng tốt hơn. IV. Tham khảo - Spring.net documentation - Các bài viết về cách dung Dependency Injection và AOP của Spring.Net, kiến trúc MVC, MVP - http://nthoai.blogspot.com/search/label/Spring.NET - Spring.Net – QnA - http://www.infoq.com/articles/SpringDotNET-QnA - Dependency Injection for Loose Coupling - Billy McCafferty - http://www.codeproject.com/KB/architecture/DependencyInjection.aspx