Nguyên tắc sáng tạo khoa học trong sự phát triển của microsoft .net framework

  • Số trang: 31 |
  • Loại file: PDF |
  • Lượt xem: 12 |
  • Lượt tải: 0
nganguyen

Đã đăng 34173 tài liệu

Mô tả:

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTT BÁO CÁO CHUYÊN ĐỀ NGUYÊN TẮC SÁNG TẠO KHOA HỌC TRONG SỰ PHÁT TRIỂN CỦA MICROSOFT .NET FRAMEWORK Học viên : VŨ MINH THÀNH MS : CH1101134 Lớp : Cao học khóa 6 Email : thanhauco2002@yahoo.com GVHD : GS-TSKH HOÀNG VĂN KIẾM TPHCM, 3/2012 ĐẠI HỌC QUỐC GIA TPHCM CHƯƠNG TRÌNH THẠC SĨ CNTT Lời Mở Đầu Có thể nói, chúng ta hiện đang sống trong thời đại thay đổi vũ bão của khoa học kỹ thuật và công nghệ (KHCN), các thành tựu của KHCN đã làm thay đổi bộ mặt của thế giới trong suốt một thế kỷ qua, nó cũng góp phần trở thành động lực thúc đẩy của sự tiến bộ xã hội. KHCN đã trở thành lĩnh vực mũi nhọn của một quốc gia trong thời đại tri thức ngày nay, và lĩnh vực CNTT là một trong những lĩnh vực có nhiều đóng góp sáng tạo nhất cho thế giới hiện nay. Em có may mắn được hoạt động trong lĩnh vực sản xuất phần mềm đã 7 năm nay và lĩnh vực chuyên sâu của em là các công nghệ của Microsoft và đặc biệt là .NET Framework. Trong khuôn khổ của bài thu hoạch này, cho em xin mạn phép được trình bày những hiểu biết hạn hẹp của em về .NET Framework cùng những phân tích sáng tạo về sự ra đời và phát triển của .NET Framework cho tới hiện nay. Phần 1 em xin được giới thiệu tóm tắt chung về 40 phương pháp sáng tạo khoa học. Phần 2 và 3 sẽ đi sâu vào công nghệ .NET và phân tích các phương pháp sáng tạo đã được sử dụng trong suốt quá trình hình thành và phát triển của Microsoft .NET Framework. Trong suốt bài thu hoạch có những thuật ngữ chuyên ngành không thể dịch ra tiếng Việt, cho em xin được giữ nguyên nghĩa tiếng Anh để đảm bảo tính trong sáng. Bài thu hoạch này có đính kèm theo sourcecode demo các chương trình có sử dụng các công nghệ của Microsoft đã đề cập. Thiếu sót là điều không thể tránh khỏi, em rất mong nhận được những lời nhận xét và đóng góp chân thành của thầy. Qua đây, em cũng xin gởi lời cám ơn chân thành đến Giáo sư – Tiến sĩ Khoa Học Hoàng Văn Kiếm, người đã tận tâm truyền đạt những kiến thức nền tảng cơ bản cho chúng em về môn học “Phương pháp nghiên cứu khoa học trong tin học”. Trong quá trình làm bài thu hoạch này cũng giúp em củng cố thêm nhiều kiến thức của .NET Framework. Em hy vọng bài thu hoạch này sẽ là một bài tham khảo quý báu cho những ai làm CNTT đặc biệt là công nghệ .NET. Xin chân thành cám ơn ! Vũ Minh Thành – 3/2012 2 ĐẠI HỌC QUỐC GIA TPHCM CHƯƠNG TRÌNH THẠC SĨ CNTT NỘI DUNG 1 PHẦN 1 : CÁC PHƯƠNG PHÁP SÁNG TẠO CƠ BẢN................................................. 5 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 1.33 1.34 1.35 1.36 1.37 1.38 1.39 1.40 Nguyên tắc phân nhỏ ....................................................................................................... 5 Nguyên tắc tách khỏi ....................................................................................................... 5 Nguyên tắc phẩm chất cục bộ .......................................................................................... 5 Nguyên tắc phản đối xứng ............................................................................................... 5 Nguyên tắc kết hợp .......................................................................................................... 5 Nguyên tắc vạn năng ....................................................................................................... 5 Nguyên tắc chứa trong .................................................................................................... 5 Nguyên tắc phản trọng lượng .......................................................................................... 5 Nguyên tắc gây ứng xuất sơ bộ ....................................................................................... 6 Nguyên tắc thực hiện sơ bộ ............................................................................................. 6 Nguyên tắc dự phòng ...................................................................................................... 6 Nguyên tắc đẳng thế ........................................................................................................ 6 Nguyên tắc đảo ngược ..................................................................................................... 6 Nguyên tắc cầu (tròn) hóa ............................................................................................... 6 Nguyên tắc linh động ....................................................................................................... 6 Nguyên tắc giải thiếu hoặc thừa ...................................................................................... 6 Nguyên tắc chuyển sang chiều khác ................................................................................ 6 Nguyên tắc sử dụng các dao động cơ học........................................................................ 7 Nguyên tắc tác động theo chu kỳ ..................................................................................... 7 Nguyên tắc liên tục tác động có ích ................................................................................ 7 Nguyên tắc vượt nhanh .................................................................................................. 7 Nguyên tắc biến hại thành lợi ......................................................................................... 7 Nguyên tắc quan hệ phản hồi ......................................................................................... 7 Nguyên tắc sử dụng trung gian ...................................................................................... 7 Nguyên tắc tự phục vụ.................................................................................................... 7 Nguyên tắc sao chép (copy) ............................................................................................ 7 Nguyên tắc rẻ thay cho đắt ............................................................................................. 8 Nguyên tắc thay thế sơ đồ cơ học ................................................................................... 8 Sử dụng các kết cấu khí và lỏng ...................................................................................... 8 Sử dụng vỏ dẻo và màng mỏng ....................................................................................... 8 Sử dụng các vật liệu nhiều lỗ ........................................................................................... 8 Nguyên tắc thay đổi màu sắc ........................................................................................... 8 Nguyên tắc đồng nhất ...................................................................................................... 8 Nguyên tắc phân hủy hoặc tái sinh các phần ................................................................... 8 Thay đổi các thông số hoá lý của đối tượng .................................................................... 9 Sử dụng chuyển pha ........................................................................................................ 9 Sử dụng sự nở nhiệt ........................................................................................................ 9 Sử dụng các chất oxy hoá mạnh ...................................................................................... 9 Thay đổi độ trơ ............................................................................................................... 9 Sử dụng các vật liệu hợp thành (composite) .................................................................... 9 2 PHẦN 2 : QUÁ TRÌNH HÌNH THÀNH VÀ PHÁT TRIỂN CỦA MICROSOFT .NET FRAMEWORK.................................................................................................................. 10 2.1 2.2 LỊCH SỬ RA ĐỜI VÀ PHÁT TRIỂN CỦA .NET FRAMEWORK ...........................10 2.1.1 HOÀN CẢNH RA ĐỜI CỦA NGÔN NGỮ C# VÀ .NET FRAMEWORK .........10 2.1.2 CÁC PHIÊN BẢN CỦA .NET FRAMEWORK .................................................11 KIẾN TRÚC CỦA .NET FRAMEWORK (.NET ARCHITECTURE) .......................15 3 ĐẠI HỌC QUỐC GIA TPHCM 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.2.8 CHƯƠNG TRÌNH THẠC SĨ CNTT Common Language Runtime (CLR) ...................................................................16 Common Language Infrastructure (CLI) ...........................................................20 Common Type System (CTS) ..............................................................................20 Common Data Type (CDT) .................................................................................21 Common Language Specification (CLS) ............................................................22 So sánh với Java.................................................................................................22 Base Class Library (BCL) ..................................................................................22 Intermediate Language (IL) ...............................................................................23 PHẦN 3 : PHÂN TÍCH CÁC PHƯƠNG PHÁP SÁNG TẠO ĐƯỢC ÁP DỤNG TRONG QUÁ TRÌNH PHÁT TRIỂN CỦA .NET FRAMEWORK.....................................................24 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 4 NGUYÊN TẮC PHÂN NHỎ.........................................................................................24 NGUYÊN TẮC THU NHỎ ...........................................................................................26 NGUYÊN TẮC KẾT HỢP ............................................................................................26 NGUYÊN TẮC TÁCH KHỎI.......................................................................................26 NGUYÊN TẮC ĐẢO NGƯỢC .....................................................................................26 NGUYÊN TẮC CHỨA TRONG ..................................................................................27 NGUYÊN TẮC LINH ĐỘNG .......................................................................................27 NGUYÊN TẮC THAY ĐỔI MÀU SẮC .......................................................................27 NGUYÊN TẮC VƯỢT NHANH ..................................................................................28 NGUYÊN TẮC VẠN NĂNG.........................................................................................28 NGUYÊN TẮC DỰ PHÒNG ........................................................................................28 NGUYÊN TẮC TÁC ĐỘNG SƠ BỘ ............................................................................29 NGUYÊN TẮC PHẢN TÁC ĐỘNG SƠ BỘ ................................................................29 NGUYÊN TẮC TRUNG GIAN ....................................................................................29 NGUYÊN TẮC TỰ PHỤC VỤ .....................................................................................29 NGUYÊN TẮC SAO CHÉP..........................................................................................30 NGUYÊN TẮC ĐỒNG NHẤT......................................................................................30 PHẦN 4 : KẾT LUẬN ................................................................................................. 31 TÀI LIệU THAM KHảO .........................................................................................................................31 4 ĐẠI HỌC QUỐC GIA TPHCM 1 1.1 CHƯƠNG TRÌNH THẠC SĨ CNTT PHẦN 1 : CÁC PHƯƠNG PHÁP SÁNG TẠO CƠ BẢN Nguyên tắc phân nhỏ a) Chia đối tượng thành các phần độc lập. b) Làm đối tượng trở nên tháo lắp được. c) Tăng mức độ phân nhỏ đối tượng. 1.2 Nguyên tắc tách khỏi a) Tách phần gây “phiền phức” (tính chất “phiền phức”) hay ngược lại tách phần duy nhất “cần thiết” (tính chất “cần thiết”) ra khỏi đối tượng. 1.3 Nguyên tắc phẩm chất cục bộ a) Chuyển đối tượng (hay môi trường bên ngoài, tác động bên ngoài) có cấu trúc đồng nhất thành không đồng nhất. b) Các phần khác nhau của đối tượng phải có các chức năng khác nhau. c) Mỗi phần của đối tượng phải ở trong những điều kiện thích hợp nhất đối với công việc. 1.4 Nguyên tắc phản đối xứng Chuyển đối tượng có hình dạng đối xứng thành không đối xứng (nói chung giãm bật đối xứng). 1.5 Nguyên tắc kết hợp a) Kết hợp các đối tượng đồng nhất hoặc các đối tượng dùng cho các hoạt động kế cận. b) Kết hợp về mặt thời gian các hoạt động đồng nhất hoặc kế cận 1.6 Nguyên tắc vạn năng Đối tượng thực hiện một số chức năng khác nhau, do đó không cần sự tham gia của các đối tượng khác. 1.7 Nguyên tắc chứa trong a) Một đối tượng được đặt bên trong đối tượng khác và bản thân nó lại chứa đối tượng thứ ba ... b) Một đối tượng chuyển động xuyên suốt bên trong đối tượng khác. 1.8 Nguyên tắc phản trọng lượng a) Bù trừ trọng lượng của đối tượng bằng cách gắn nó với các đối tượng khác có lực nâng. b) Bù trừ trọng lượng của đối tượng bằng tương tác với môi trường như sử dụng các lực thủy động, khí động... 5 ĐẠI HỌC QUỐC GIA TPHCM 1.9 CHƯƠNG TRÌNH THẠC SĨ CNTT Nguyên tắc gây ứng xuất sơ bộ Gây ứng suất trước với đối tượng để chống lại ứng suất không cho phép hoặc không mong muốn khi đối tượng làm việc (hoặc gây ứng suất trước để khi làm việc sẽ dùng ứng suất ngược lại ). 1.10 Nguyên tắc thực hiện sơ bộ a) Thực hiện trước sự thay đổi cần có, hoàn toàn hoặc từng phần, đối với đối tượng. b) Cần sắp xếp đối tượng trước, sao cho chúng có thể hoạt động từ vị trí thuận lợi nhất, không mất thời gian dịch chuyển 1.11 Nguyên tắc dự phòng Bù đắp độ tin cậy không lớn của đối tượng bằng cách chuẩn bị trước các phương tiện báo động, ứng cứu, an toàn 1.12 Nguyên tắc đẳng thế Thay đổi điều kiện làm việc để không phải nâng lên hay hạ xuống các đối tượng 1.13 Nguyên tắc đảo ngược a) Thay vì hành động như yêu cầu bài toán, hành động ngược lại (ví dụ, không làm nóng mà làm lạnh đối tượng) b) Làm phần chuyển động của đối tượng (hay môi trường bên ngoài) thành đứng yên và ngược lại, phần đứng yên thành chuyển động. 1.14 Nguyên tắc cầu (tròn) hóa a) Chuyển những phần thẳng của đối tượng thành cong, mặt phẳng thành mặt cầu, kết cấu hình hộp thành kết cấu hình cầu. b) Sử dụng các con lăn, viên bi, vòng xoắn. c) Chuyển sang chuyển độg quay, sử dung lực ly tâm 1.15 Nguyên tắc linh động a) Cần thay đổi các đặt trưng của đối tượng hay môi trường bên ngoài sao cho chúng tối ưu trong từng giai đoạn làm việc. b) Phân chia đối tượng thành từng phần, có khả năng dịch chuyển với nhau. 1.16 Nguyên tắc giải thiếu hoặc thừa Nếu như khó nhận được 100% hiệu quả cần thiết, nên nhận ít hơn hoặc nhiều hơn “một chút”. Lúc đó bài toán có thể trở nên đơn giản hơn và dễ giải hơn. 1.17 Nguyên tắc chuyển sang chiều khác a) Những khó khăn do chuyển động (hay sắp xếp) đối tượng theo đường (một chiều) sẽ được khắc phục nếu cho đối tượng khả năng di chuyển trên mặt phẳng (hai chiều). Tương tự, những bài toán liên quan đến chuyển động (hay sắp xếp) các đối tượng trên mặt phẳng sẽ được đơn giản hoá khi chuyển sang không gian (ba chiều). b) Chuyển các đối tượng có kết cấu một tầng thành nhiều tầng. c) Đặt đối tượng nằm nghiêng. 6 ĐẠI HỌC QUỐC GIA TPHCM CHƯƠNG TRÌNH THẠC SĨ CNTT d) Sử dụng mặt sau của diện tích cho trước. e) Sử dụng các luồng ánh sáng tới diện tích bên cạnh hoặc tới mặt sau của diện tích cho trước. 1.18 Nguyên tắc sử dụng các dao động cơ học a) Làm đối tượng dao động. Nếu đã có dao động, tăng tầng số dao động ( đến tầng số siêu âm). b) Sử dụng tầng số cộng hưởng. c) Thay vì dùng các bộ rung cơ học, dùng các bộ rung áp điện. d) Sử dụng siêu âm kết hợp với trường điện từ. 1.19 Nguyên tắc tác động theo chu kỳ a) Chuyển tác động liên tục thành tác động theo chu kỳ (xung). b) Nếu đã có tác động theo chu kỳ, hãy thay đổi chu kỳ. c) Sử dụng các khoảng thời gian giữa các xung để thực hiện tác động khác. 1.20 Nguyên tắc liên tục tác động có ích a) Thực hiện công việc một cách liên tục (tất cả các phần của đối tượng cần luôn luôn làm việc ở chế độ đủ tải). b) Khắc phục vận hành không tải và trung gian. c) Chuyển chuyển động tịnh tiến qua lại thành chuyển động qua. 1.21 Nguyên tắc vượt nhanh a. Vượt qua các giai đoạn có hại hoặc nguy hiểm với vận tốc lớn. b. Vượt nhanh để có được hiệu ứng cần thiết. 1.22 Nguyên tắc biến hại thành lợi a. Sử dụng những tác nhân có hại (thí dụ tác động có hại của môi trường) để thu được hiệu ứng có lợi. b. Khắc phục tác nhân có hại bằng cách kết hợp nó với tác nhân có hại khác. c. Tăng cường tác nhân có hại đến mức nó không còn có hại nữa. 1.23 Nguyên tắc quan hệ phản hồi a. Thiết lập quan hệ phản hồi b. Nếu đã có quan hệ phản hồi, hãy thay đổi nó. 1.24 Nguyên tắc sử dụng trung gian Sử dụng đối tượng trung gian, chuyển tiếp. 1.25 Nguyên tắc tự phục vụ a. Đối tượng phải tự phục vụ bằng cách thực hiện các thao tác phụ trợ, sửa chữa. b. Sử dụng phế liệu, chát thải, năng lượng dư. 1.26 Nguyên tắc sao chép (copy) a. Thay vì sử dụng những cái không được phép, phức tạp, đắt tiền, không tiện lợi hoặc dễ vỡ, sử dụng bản sao. 7 ĐẠI HỌC QUỐC GIA TPHCM CHƯƠNG TRÌNH THẠC SĨ CNTT b. Thay thế đối tượng hoặc hệ các đối tượng bằng bản sao quang học (ảnh, hình vẽ) với các tỷ lệ cần thiết. c. Nếu không thể sử dụng bản sao quang học ở vùng biẻu kiến (vùng ánh sáng nhìn thấy được bằng mắt thường), chuyển sang sử dụng các bản sao hồng ngoại hoặc tử ngoại. 1.27 Nguyên tắc rẻ thay cho đắt Thay thế đối tượng đắt tiền bằng bộ các đối tượng rẻ có chất lượng kém hơn (thí dụ như về tuổi thọ) 1.28 Nguyên tắc thay thế sơ đồ cơ học a. Thay thế sơ đồ cơ học bằng điện, quang, nhiệt, âm hoặc mùi vị. b. Sử dụng điện trường, từ trường và điện từ trường trong tương tác với đối tượng c. Chuyển các trường đứng yên sang chuyển động, các trường cố định sang thay đổi theo thời gian, các trường đồng nhất sang có cấu trúc nhất định . d. Sử dụng các trường kết hợp với các hạt sắt từ. 1.29 Sử dụng các kết cấu khí và lỏng Thay cho các phần của đối tượng ở thể rắn, sử dụng các chất khí và lỏng: nạp khí, nạp chất lỏng, đệm không khí, thủy tĩnh, thủy phản lực. 1.30 Sử dụng vỏ dẻo và màng mỏng a. Sử dụng các vỏ dẻo và màng mỏng thay cho các kết cấu khối. b. Cách ly đối tượng với môi trường bên ngoài bằng các vỏ dẻo và màng mỏng. 1.31 Sử dụng các vật liệu nhiều lỗ a. Làm đối tượng có nhiều lỗ hoặc sử dụng thêm những chi tiết có nhiều lỗ (miếng đệm, tấm phủ…) b. Nếu đối tượng đã có nhiều lỗ, sơ bộ tẩm nó bằng chất nào đó. 1.32 Nguyên tắc thay đổi màu sắc a. Thay đổi màu sắc của đối tượng hay môi trường bên ngoài b. Thay đổi độ trong suốt của của đối tượng hay môi trường bên ngoài. c. Để có thể quan sát được những đối tượng hoặc những quá trình, sử dụng các chất phụ gia màu, hùynh quang. d. Nếu các chất phụ gia đó đã được sử dụng, dùng các nguyên tử đánh dấu. e. Sử dụng các hình vẽ, ký hiệu thích hợp. 1.33 Nguyên tắc đồng nhất Những đối tượng, tương tác với đối tượng cho trước, phải được làm từ cùng một vật liệu (hoặc từ vật liệu gần về các tính chất) với vật liệu chế tạo đối tượng cho trước. 1.34 Nguyên tắc phân hủy hoặc tái sinh các phần a. Phần đối tượng đã hoàn thành nhiệm vụ hoặc trở nên không càn thiết phải tự phân hủy (hoà tan, bay hơi..) hoặc phải biến dạng. b. Các phần mất mát của đối tượng phải được phục hồi trực tiếp trong quá trình làm việc. 8 ĐẠI HỌC QUỐC GIA TPHCM CHƯƠNG TRÌNH THẠC SĨ CNTT 1.35 Thay đổi các thông số hoá lý của đối tượng a. Thay đổi trạng thái đối tượng. b. Thay đổi nồng độ hay độ đậm đặc. c. Thay đổi độ dẻo d. Thay đổi nhiệt độ, thể tích. 1.36 Sử dụng chuyển pha a. Sử dụng các hiện tượng nảy sinh trong quá trình chuyển pha như: thay đổi thể tích, toả hay hấp thu nhiệt lượng... 1.37 Sử dụng sự nở nhiệt a. Sử dụng sự nở (hay co) nhiệt của các vật liệu. b. Nếu đã dùng sự nở nhiệt, sử dụng với vật liệu có các hệ số nở nhiệt khác nhau. 1.38 Sử dụng các chất oxy hoá mạnh a. Thay không khí thường bằng không khí giàu oxy. b. Thay không khí giàu oxy bằng chính oxy. c. Dùng các bức xạ ion hoá tác động lên không khí hoặc oxy. d. Thay oxy giàu ozon (hoặc oxy bị ion hoá) bằng chính ozon. 1.39 Thay đổi độ trơ a. Thay môi trường thông thường bằng môi trường trung hoà. b. Đưa thêm vào đối tượng các phần , các chất , phụ gia trung hoà. c. Thực hiện quá trình trong chân không. 1.40 Sử dụng các vật liệu hợp thành (composite) Chuyển từ các vật liệu đồng nhất sang sử dụng những vật liệu hợp thành (composite). Hay nói chung sử dụng các vật liệu mới. 9 ĐẠI HỌC QUỐC GIA TPHCM 2 CHƯƠNG TRÌNH THẠC SĨ CNTT PHẦN 2 : QUÁ TRÌNH HÌNH THÀNH VÀ PHÁT TRIỂN CỦA MICROSOFT .NET FRAMEWORK 2.1 LỊCH SỬ RA ĐỜI VÀ PHÁT TRIỂN CỦA .NET FRAMEWORK 2.1.1 HOÀN CẢNH RA ĐỜI CỦA NGÔN NGỮ C# VÀ .NET FRAMEWORK Vào khoảng những năm 90, công ty Sun Microsystems đã cho ra đời một ngôn ngữ hoàn toàn hướng đối tượng và dễ sử dụng là Java, cho phép ta viết chương trình chạy trên đa nền tảng (multiplatform). Sự ra đời của Java là một cuộc cách mạng thật sự cho cộng đồng phát triển. Bối cảnh lúc bấy giờ, các nền tảng phát triển của Microsoft ( MFC, VS C++, VB6, VBScript, Javascript, …) là một mớ hỗn độn rất khó sử dụng và không thể thống nhất cho phép chúng ta viết ứng dụng 1 lần, chạy nhiều nơi “Write once, run anywhere” như Java. Trước sự phát triển mạnh mẽ của Java và sự qua mặt của Sun, Microsoft quyết định sẽ cho ra đời 1 nền tảng và ngôn ngữ lập trình tương tự để cạnh tranh với sự trỗi dậy mạnh mẽ của Sun Java. Năm 1996, cha đẻ của ngôn ngữ nổi tiếng C++ và là kiến trúc sư trưởng Ander Hejlsberg đã rời khỏi công ty Borland và gia nhập đội ngũ phát triển của Microsoft. Thành công đầu tiên của Hejlsberg là xây dựng thành công ngôn ngữ Visual J++, một ngôn ngữ sao chép của Java nhưng chạy trên Windows. Nhưng sau đó Sun đã kiện vấn đề bản quyền Java của ngôn ngữ J++ này buộc Microsoft phải ngừng phát triển ngôn ngữ này. Vào tháng 1/1999, Ander Hejlsberg đã thành lập nên một đội ngũ với mong muốn tạo ra 1 ngôn ngữ mới, ban đầu nó được gọi là COOL (C like Object Oriented Language). Vào tháng 7/2000 tại hội nghị các nhà phát triển PDC, ngôn ngữ được đổi tên là C# (đọc là C Sharp). C# là sự kết hợp những điểm mạnh và khắc phục những khiếm khuyết của các ngôn ngữ C++, Java, Delphi và Smalltalk. Và kể từ năm 2000, Hejlsberg được bổ nhiệm làm kiến trúc sư trưởng dự án phát triển C#. Cùng song song phát triển ngôn ngữ chủ lực C# cho nền tảng mới, Microsoft cũng phát triển .NET Framework vào cuối những năm 90, ban đầu được đặt tên là Next Generation Windows Services (NGWS). Vào cuối năm 2000 bản beta version của .NET 1.0 được công bố. Và cho đến nay, .NET Framework đã phát triển đến version 4.5 beta 2 và sẽ được release trong năm 2012. Trên đây là bối cảnh ra đời của C# và .NET Framework. 10 ĐẠI HỌC QUỐC GIA TPHCM CHƯƠNG TRÌNH THẠC SĨ CNTT 2.1.2 CÁC PHIÊN BẢN CỦA .NET FRAMEWORK Version Version Number Release Date Visual Studio Default in Windows 1.0 1.0.3705.0 13 February 2002 Visual Studio .NET 1.1 1.1.4322.573 24 April 2003 Visual Studio .NET 2003 2.0 2.0.50727.42 7 November 2005 Visual Studio 2005 Windows Server 2003 R2 3.0 3.0.4506.30 6 November 2006 Windows Vista, Windows Server 2008 3.5 3.5.21022.8 19 November 2007 Visual Studio 2008 Windows 7, Windows Server 2008 R2 4.0 4.0.30319.1 12 April 2010 Visual Studio 2010 4.5 4.5.?????.? 2012 Visual Studio 11 Windows Server 2003 Windows 8, Windows Server 8 2.1.2.1 .NET Framework 1.0 : Đây là phiên bản đầu tiên của .NET Framework, trình làng vào ngày 13-02-2002 và xuất hiện trong các HĐH Win 98, Me, NT 4.0, 2000, và XP. Microsoft ngừng hỗ trợ cho phiên bản này vào 10-07-2007 Một số điểm nổi bật trong .NET 1.0 + Giới thiệu Web Services và XML + ADO.NET 1.0 (DataSet) + ASP.NET 2.1.2.2 .NET Framework 1.1 Đây là bản nâng cấp lớn cho 1.0, xuất hiện vào 24-04-2003, đây cũng là một phần tích hợp trong phiên bản release của Visual Studio .NET 2003. Đây là bản .NET Framework tích hợp sẵn với Windows OS là Windows Server 2003. Phiên bản này được hỗ trợ đến ngày 14-10-2008.  Những thay đổi trong .NET 1.1 so với 1.0 : - Hỗ trợ mobile ASP.NET controls - Những thay đổi về security : cho phép Windows Form assemblies được chạy semi-trusted trên internet, và cho phép Code Access Security trong các ứng dụng ASP.NET - Hỗ trợ sẵn (Built-in) ODBC và Oracle database - Cung cấp .NET Compact Framework cho các thiết bị di động 11 ĐẠI HỌC QUỐC GIA TPHCM - Hỗ trợ IP v6 - Một số thay đổi của API 2.1.2.3  2.1.2.4 CHƯƠNG TRÌNH THẠC SĨ CNTT .NET Framework 2.0 Ra đời cùng với Visual Studio 2005, MS SQL Server 2005 và BizTalk 2006. Bản 2.0 Redistribute Package cho download từ ngày 22-01-2006. Những thay đổi trong NET 2.0 : - Hỗ trợ tổng quát hóa Generics (giống hàm template trong C++), và nó được tích hợp sẵn trong .NET CLR - Hỗ trợ hoàn toàn phần cứng 64bit - Một số thay đổi trong các API - Tích hợp với SQL Server 2005 - Bổ sung mới và cải thiện 1 số ASP.NET web controls - Một số data controls mới với cơ chế data binding - Tính năng Personalization cho ASP.NET : như hỗ trợ theme, skins, master pages và webparts. - .NET Micro Framework - Membership provider - Partial classes - Nullable types - Anonymous methods - Iterators - Data tables .NET Framework 3.0 .NET Framework 3.0, tên trước đây là WinFX, được ra mắt vào ngày 21-11-2006. Nó bao gồm 1 tập những hàm API mới, một phần tích hợp của Windows Vista và Windows Server 2008. Không có 1 sự thay đổi kiến trúc lớn nào trong bản 3.0, nó vẫn sử dụng CLR của .NET 2.0, không có .NET Compact Framework trong bản 3.0 này. Những thay đổi trong NET 3.0 : - Windows Presentation Foundation (WPF) : tên mã trước đây là Avalon, đây là một hệ thống giao diện và API mới dựa trên XML và vector graphics, sử dụng phần cứng đồ họa 3D và Direct3D - Windows Communication Foundation (WCF) : tên mã là Indigo, đây là một hệ thống giao tiếp hướng đến dịch vụ (service-oriented messaging system), cho phép các chương trình giao tiếp với nhau ở gần hay từ xa, tương tự như web services. - Windows Workflow Foundation (WF) : cho phép xây dựng nên hệ thống tự động của các tác vụ và các giao dịch tích hợp, hay gọi là các workflow - Windows CardSpace : tên trước đây là InfoCard, đây là thành phần giúp lưu trữ an toàn các chứng minh số (digital itentities), và cung cấp 1 giao diện thống nhất chọn lựa chứng minh số cho 1 giao dịch, như việc đăng nhập vào 1 website. 12 ĐẠI HỌC QUỐC GIA TPHCM 2.1.2.5 CHƯƠNG TRÌNH THẠC SĨ CNTT .NET Framework 3.5 Phiên bản .NET 3.5 được công bố ngày 19-11-2007, nhưng không được tích hợp trong Windows Server 2008, giống như .NET 3.0, .NET 3.5 sử dụng CLR của 2.0. Phiên bản 3.5 bổ sung tính năng mới là LINQ (Language Integrated Query). Phiên bản .NET Compact Framework 3.5 cũng được trình làng hỗ trợ các tính năng mới cho Windows Mobile và Windows Embedded CE devices.  Các tính năng mới bổ sung trong .NET 3.5 SP1 : - Cải thiện performance cho WPF - Giới thiệu ADO.NET Entity Framework và ADO.NET Data Services - 2 assembly mới : System.Web.Abstraction và System.Web.Routing dùng trong ASP.NET MVC Framework - .NET 3.5 SP1 tích hợp trong SQL Server 2008 và VS 2008 SP1, nó cũng được tích hợp sẵn trong Windows 7 và Windows Server 2008 R2  Các tính năng trong .NET 3.5 SP1 Client Profile : .NET 3.5 SP1 Client Profile là 1 phiên bản thu nhỏ của .NET Framework, chỉ có dung lượng 28MB, nhỏ hơn rất nhiều so với .NET Framework đầy đủ, nó chỉ cài đặt những thành phần cần thiết cho ứng dụng desktop. 2.1.2.6 .NET Framework 4.0 Trình làng vào ngày 12-04-2010, cùng với Visual Studio 2010. Một số tính năng mới thêm vào .Net 4.0 : - Xử lý song song (Parallel Extensions) : dành cho xử lý trên những máy tính đa lõi multicore hay hệ phân tán (distributed systems). Giới thiệu PLINQ (Parallel LINQ) và Task Parallel Library - Bổ sung tính năng cho VB.NET và C#, như dynamic dispatch, named parameters, và optional parameters - Hỗ trợ Code-Contract - Bổ sung kiểu mới : System.Numerics.BigInteger và số phức System.Numerics.Complex - Giới thiệu Windows Server AppFabric 2.1.2.7 .NET Framework 4.5 Bản Developer Preview (4.5.40805) release vào ngày 14-09-2011, phiên bản này là một tập hợp những tính năng nâng cấp/thay đổi mới : - Support viết ứng dụng Metro-style cho Windows 8 bằng C# hay VB.NET. Gọi là tập .NET API for Metro style apps. - Tất cả thư viện mới này nằm trong Windows Runtime (WinRT) : một hệ sinh thái mới cho phép sử dụng nhiều nền tảng và ngôn ngữ khác nhau: .NET, C++, và HTML5/JavaScript. WinRT cho phép ta dễ dàng sử dụng code-cross platform. - Nâng cấp tính năng cho MEF (Managed Extensibility Framework) : support generics type, convention-based programming, multiple-scopes support - Thao tác file bất đồng bộ (Asynchronous File Operations) - ASP.NET : + Hỗ trợ những kiểu form mới HTML5 + Model binders cho Web form + Hỗ trỡ giao thức WebSockets. + Đọc và ghi HTTP requests và responses bất đồng bộ + Hỗ trợ modules và handlers bất đồng bộ + Hỗ trợ Content Distribution Network (CDN) fallback trong ScriptManager control 13 ĐẠI HỌC QUỐC GIA TPHCM CHƯƠNG TRÌNH THẠC SĨ CNTT - Thêm System.Net.Http và System.Net.Http.Headers - WPF : + Ribbon control + INotifyDataErrorInfo interface, hỗ trợ đồng bộ và bất đồng bộ data validation + cải thiện performance + support weak event patterns, và events bây giờ có thể support markup extension + data binding to static properties or custom types 14 ĐẠI HỌC QUỐC GIA TPHCM CHƯƠNG TRÌNH THẠC SĨ CNTT 2.2 KIẾN TRÚC CỦA .NET FRAMEWORK (.NET ARCHITECTURE) Sau đây chúng ta sẽ đi sâu hơn về kiến trúc bên trong của .NET Framework, và các thành phần cơ bản cấu thành - .NET cho phép viết ứng dụng cross-platform - Vị trí của .NET Framework trong ứng dụng .NET apps - Vài điểm chính của kiến trúc .NET : + Đa ngôn ngữ (multi-language) + Đa nền tảng (multi-platform) + Dựa trên CLR, FCL (Framework Class Library) và công nghệ JIT (Just-In-Time) + Các thành phần .NET được đóng gói thành các assemblies 15 ĐẠI HỌC QUỐC GIA TPHCM CHƯƠNG TRÌNH THẠC SĨ CNTT - Kiến trúc các thành phần chức năng của .NET : - Kiến trúc các thành phần kỹ thuật của .NET: 2.2.1 Common Language Runtime (CLR)  CLR là thư viện chung cho tất cả các ngôn ngữ trên .NET bao gồm - Hệ thống kiểu chung - Common Type System (CTS) - Metadata chung - Ngôn ngữ trung gian - Intermediate Language (IL) - Thành phần cấp phát bộ nhớ và dọn dẹp rác (memory allocation and garbage collector) - Thực thi mã và kiểm tra an toàn mã (code execution and security) - Hơn 15 ngôn ngữ được hỗ trợ trong .Net ngày nay : C#, VB, JScript, Visual C++, Perl, Python, Ruby, Smalltalk, Cobol, Haskell, Mercury, Eiffel, Oberon, Oz, Pascal, APL, CAML, 16 ĐẠI HỌC QUỐC GIA TPHCM CHƯƠNG TRÌNH THẠC SĨ CNTT Scheme, … - Rational đang làm việc tren Java compiler cho CLR. Kiến trúc của CLR : Mô hình thực thi mã của CLR : 17 ĐẠI HỌC QUỐC GIA TPHCM CHƯƠNG TRÌNH THẠC SĨ CNTT CLR hoạt động như thế nào ? 18 ĐẠI HỌC QUỐC GIA TPHCM CHƯƠNG TRÌNH THẠC SĨ CNTT Bộ máy thực thi của CLR (execution engine) có nhiệm vụ : - Dịch mã trung gian IL sang mã máy (native code) - Xử lý dọn dẹp rác (garbage collection) - Xử lý lỗi (exceptions) - Đảm bảo mã thực thi an toàn (code access security) - Thực hiện việc kiểm tra (verification) : managed v. unmanaged CLR và JIT (Just-In-Time) compiling - Thực thi gián tiếp các ứng dụng .Net - Tất cả ngôn ngữ .Net được dịch sang cùng ngôn ngữ trung gian (IL) - CLR chuyển đổi mã IL sang thành những chỉ thị (instructions) của assembly cho 1 kiến trúc phần cứng riêng, việc này gọi là Jit’ing hay Just-in-time compiling. + Jit mất vài chi phí performance lúc dịch ban đầu, nhưng mã Jit được cached lại để dùng về sau + CLR có thể hoạt động trên một kiến trúc riêng biệt mà mã được thực thi, vì thế performance được cải thiện Các ưu điểm của CLR : - Hỗ trợ cho các dịch vụ cho developers (debugging) - Cho phép liên tương tác (interoperation) giữa các managed code và unmanaged code (COM, DLLs) - Môi trường managed code - Cải thiện xử lý bộ nhớ (memory handling) - Cải thiện khả năng dọn rác (garbage collection) - JIT cho phép code chạy trong môi trường được bảo vệ như managed code - JIT cho phép mã trung gian IL độc lập với phần cứng - CLR cũng cho phép đảm bảo an toàn mã khi thực thi (code access security) - Kiểm tra an toàn kiểu (verification of type safety) - Truy cập Metadata (enhanced Type Information) 19 ĐẠI HỌC QUỐC GIA TPHCM CHƯƠNG TRÌNH THẠC SĨ CNTT 2.2.2 Common Language Infrastructure (CLI) - CLI cho phép phát triển cross-language - 4 thành phần : + Common Type System (CTS) + Metadata theo mô hình độc lập ngôn ngữ + Common Language Specification (CLS) : bao gồm các hành vi mà tất cả ngôn ngữ cần phải theo + Virtual Execution System (VES) 2.2.3 Common Type System (CTS) - Là 1 hệ thống mô tả cách các kiểu dữ liệu được định nghĩa và cách chúng hoạt động. - Chúng không mô tả cú pháp (syntax). - Một kiểu (type) có thể chứa không hoặc nhiều thành phần sau : + Field + Method + Property + Event 20
- Xem thêm -