Đ Cương: Các Ví D Nâng Cao Công Ngh Ph N
Total Page:16
File Type:pdf, Size:1020Kb
Đề cương: Các Ví Dụ Nâng Cao Công Nghệ Phần Mềm Bởi: Khoa CNTT ĐHSP KT Hưng Yên Đề cương: Các Ví Dụ Nâng Cao Công Nghệ Phần Mềm Bởi: Khoa CNTT ĐHSP KT Hưng Yên Phiên bản trực tuyến: < http://voer.edu.vn/content/col10330/1.1/ > Hoc lieu Mo Vietnam - Vietnam Open Educational Resources Tài li»u này và sự bi¶n tªp nëi dung có b£n quy·n thuëc v· Khoa CNTT ĐHSP KT Hưng Y¶n. Tài li»u này tu¥n thõ gi§y ph²p Creative Commons Attribution 3.0 (http://creativecommons.org/licenses/by/3.0/). Tài li»u đưñc hi»u đính bởi: August 19, 2010 Ngày t¤o PDF: August 20, 2010 Để bi¸t thông tin v· đóng góp cho c¡c module có trong tài li»u này, xem tr. 124. Nëi dung Lời mở đầu ...........................................................................................1 1 Bài 1: Lªp tr¼nh hướng thành ph¦n (HTP) 1.1 Giới thi»u và Định nghĩa . 3 1.2 Hñp l» ho¡ dú li»u. Ngôn ngú v§n tin cơ sở dú li»u. K¸t nèi cơ sở dú li»u sû dụng công ngh» ADO. 4 2 Bài 2: Lªp tr¼nh đa t¦ng 2.1 Giới thi»u ..................................................................................39 2.2 Ki¸n trúc đa t¦ng . 39 2.3 Ph¡t triºn ùng dụng đa t¦ng . 41 3 Bài 3: Lªp tr¼nh m¤ng 3.1 Lªp tr¼nh m¤ng . 47 4 Bài 4: Ki¸n trúc hướng dịch vụ (webservice) 4.1 Ki¸n trúc hướng dịch vụ (webservice) . .. 59 5 Bài 5: Thi¸t k¸ m¨u (Design Pattern) 5.1 Thi¸t k¸ m¨u (Design Pattern) . 79 6 Bài 6: Công ngh» Hibernate 6.1 Công ngh» Hibernate . 95 7 Bài 7: Công ngh» Ajax 7.1 Công ngh» Ajax . 101 8 Bài 8: M¢ nguồn mở 8.1 M¢ nguồn mở . 113 9 Tài li»u tham kh£o ..............................................................................123 Attributions ........................................................................................124 iv Lời mở đầu1 Công ngh» thông tin đang ph¡t triºn m¤nh m³, để ph¡t triºn được nhúng dụng trong thực t¸ th¼ vi»c sû dụng mët sè phương ph¡p và công ngh» ph¡t triºn ph¦n m·m ti¶n là điều không thº thi¸u đối với người ph¡t triºn. Module giới thi»u cho người học mët sè chõ đề n¥ng cao cõa Công ngh» ph¦n m·m: Giới thi»u mët sè phương ph¡p ph¡t triºn ph¦n m·m ti¸n, ¡p dụng cho nhúng bài to¡n có qui mô lớn như ph¡t triºn ph¦n m·m theo mô h¼nh Client-Server; Component-Based; web-service, design pattern ...; Giới thi»u mët sè công ngh» ph¡t triºn ph¦n m·m mà t¤i thời điểm tương ùng đang được ¡p dụng trong c¡c công ty ph¦n m·m, như: Công ngh» Hibernate, Ajax, ...; Tr¶n cơ sở đó giao c¡c chõ đề cụ thº cho tøng sinh vi¶n/ nhóm sinh vi¶n t¼m hiºu và cài đặt ùng dụng, sau đó tr¼nh bày trước lớp nhm hi»n thực hóa nhúng phương ph¡p và công ngh» ti¶n ti¸n ph¡t triºn ph¦n m·m. 1This content is available online at <http://voer.edu.vn/content/m18175/1.1/>. 1 2 Chương 1 Bài 1: Lªp tr¼nh hướng thành ph¦n (HTP) 1.1 Giới thi»u và Định nghĩa1 1.1.1 Giới thi»u Lªp tr¼nh hướng thành ph¦n (HTP)- component-oriented programming Xu§t ph¡t tø lªp tr¼nh hướng đối tượng, tư duy lªp tr¼nh hướng thành ph¦n (component-oriented pro- gramming) theo ý tưởng: • Gi£i quy¸t bài to¡n b¬ng c¡ch x¥y dựng mët tªp c¡c thành ph¦n (component) có t½nh độc lªp tương đối với nhau. Méi thành ph¦n đảm nhi»m mët ph¦n công vi»c nh§t định. • Sau đó, người ta gh²p c¡c thành ph¦n với nhau để thu được mët ph¦n m·m tho£ m¢n mët tªp c¡c y¶u c¦u x¡c định Với lªp tr¼nh hướng thành ph¦n, người ta có thº ti¸n hành lªp tr¼nh theo phương ph¡p sau: • X¥y dựng mët thư vi»n c¡c thành ph¦n, méi thành ph¦n thực hi»n mët công vi»c x¡c định. • Khi c¦n ph¡t triºn mët ph¦n m·m cụ thº, người ta ch¿ c¦n chọn nhúng thành ph¦n có s®n trong thư vi»n để gh²p l¤i với nhau. Người lªp tr¼nh ch¿ ph£i ph¡t triºn th¶m c¡c thành ph¦n m¼nh c¦n mà chưa có trong thư vi»n. Phương ph¡p này có nhúng ưu điểm r§t lớn: • Lªp tr¼nh vi¶n có thº chia s´ với nhau nhúng thành ph¦n m¼nh đã x¥y dựng cho nhi·u người kh¡c dùng chung. Khi c¦n, lªp tr¼nh vi¶n có thº lp gh²p c¡c thành ph¦n có s®n kh¡c nhau để t¤o thành c¡c chương tr¼nh có chùc n«ng kh¡c nhau. T§t c£ ch¿ c¦n dựa tr¶n công ngh» lp gh²p thành ph¦n, ti¸t ki»m được r§t nhi·u công sùc lªp tr¼nh. 1.1.2 Định nghĩa v· lªp tr¼nh HTP Mët sè định nghĩa v· "lªp tr¼nh hướng thành ph¦n": Thành ph¦n (component): là mët ph¦n không t¦m thường cõa h» thèng, g¦n như độc lªp và có thº thay th¸ được, giú mët chùc n«ng rã ràng trong h» thèng. Mët component có thº là mët trong ba lo¤i: source code component; runtime component; executable component. 1This content is available online at <http://voer.edu.vn/content/m18693/1.1/>. 3 4 CHƯƠNG 1. BÀI 1: LẬP TRÌNH HƯỚNG THÀNH PHẦN (HTP) Lªp tr¼nh hướng thành ph¦n là kiºu lªp tr¼nh có xu hướng chia h» thèng ph¦n m·m thành nhúng thành ph¦n, giú c¡c chùc n«ng kh¡c nhau, mà khi phèi hñp chúng ta s³ h» thèng ph¦n m·m đó. Lªp tr¼nh hướng thành ph¦n sû dụng chung nhi·u quan ni»m cõa "lªp tr¼nh hướng đối tượng", nhưng hai kh¡i ni»m này là độc lªp với nhau. 1.2 Hñp l» ho¡ dú li»u. Ngôn ngú v§n tin cơ sở dú li»u. K¸t nèi cơ sở dú li»u sû dụng công ngh» ADO. 1.2.1 Công cụ hñp l» ho¡ dú li»u trong Visual Basic2 Hñp l» ho¡ dú li»u là làm cho dú li»u nhªp vào đảm b£o t½nh hñp l». 1.2.1.1 Hñp l» ho¡ sû dụng sự ki»n LostFocus và phương thùc SetFocus Sự ki»n LostFocus x£y ra méi khi mët điều kiºm m§t ti¶u điểm. Ta có thº vi¸t m¢ l»nh trong sự ki»n này đº kiºm so¡t xem dú li»u khi dời khỏi điều kiºm đã hñp l» chưa. N¸u như dú li»u chưa hñp l» ta có thº y¶u c§u người nhªp dú li»u ph£i nhªp l¤i. Như vªy ta ph£i dời ti¶u điểm v· điều kiºm. Khi đó ta s³ sû dụng phương thùc SetFocus để đặt l¤i ti¶u điểm cho điều kiºm. Khung cõa thõ tục LostFocus như sau: Private Sub ControlName_ LostFocus() ` M¢ Code End Sub V½ dụ: Private Sub TxtTen_ LostFocus() If len(TxtTen.Text)=0 then Msgbox “T¶n không được réng !” TxtTen.SetFocus End If End Sub 1.2.1.2 Hñp l» ho¡ sû dụng sự ki»n Validate Sự ki»n Validate x£y ra trước khi người dùng có thº dịch chuyºn ti¶u điểm ra xa điều kiºm đó. Do đó ta có thº đặt m¢ l»nh để kiºm so¡t t½nh hñp l» cõa dú li»u trong sự ki»n Validate nh¬m ng«n c£n người dùng dịch chuyºn ti¶u điểm cho đến khi c¡c ti¶u chu©n v· h¼nh d¤ng dú li»u được tho£ m¢n. Khung cõa thõ tục Validate như sau: Private Sub ControlName_ Validate(Cancel As Boolean) ` M¢ Code End Sub N¸u b¤n x¡c lªp Cancel là True th¼ người dùng s³ không có kh£ n«ng dời khỏi điều kiºm này cho đến khi người đó nhªn được đữ li»u đúng VD: Private Sub TxtTen_ Validate(Cancel As Boolean) If len(TxtTen.Text)=0 then Msgbox “T¶n không được réng !” Cancel=True End If End Sub 2This content is available online at <http://voer.edu.vn/content/m18832/1.1/>. 5 Tr¶n thực t¸ VB cung c§p cho b¤n mët dáng l»nh để b£o v» VB cán t¤o ra bi¸n cè Validate cho điều khiºn dú li»u méi khi b£n ghi hi»n hành sp được thay đổi V½ dụ b¬ng phương ph¡p Move First hoặc trứơc khi xû lý phương ph¡p Update, Delete hoặc Close.