Tự học Microsoft ASP.NET
Câu 1: Tất cả các webform đều thừa kế từ lớp:
a) Master Page
b) Page Class
c) Session Class
d) Không có câu nào đúng
Câu 2: Tệp Global.asax được dùng để
a) Cài đặt các sự kiện mức ứng dụng (application) và mức phiên làm việc (session)
b) Khai báo các biến và các hàm toàn cục
c) Không có tác dụng gì
d) Cả 3 đều sai
ày (lý lịch của nút bấm - ID là 'btSubmit') thì thông số 'e' trống rỗng, sau khi user nhấp vào nút bấm, 'e' chứa đủ thứ trong đó có sự cố 'Click'. Trong Form, ta đã xắp xếp nguồn mã để báo cho nút bấm 'btSubmit' hay rằng bất cứ khi nào sự cố Click khởi động, lập tức thi hành subroutine 'Button_Click', và như vậy, ta đã định nghĩa và xây dựng 1 event handler thành công. Classes Classes là phần ta xác định hay định nghĩa các đối tượng (Object) tỷ như để định nghĩa 1 cái đồng hồ, ta diễn tả kim giờ, kim phút, kim giây cùng các con số chỉ giờ, cách bố trí giờ giấc hay ngày tháng năm, ... Tương tự như thế, class định nghĩa đối tượng (Object) qua các đặc tính (properties) và các phương pháp (method) biểu thị đặc trưng cho class. Ta nên nhớ rõ 1 điều: 'Mọi thứ trong .NET Framework hay VB.NET đều đại biểu cho classes'. Cú pháp như sau: Class classname properties subroutines functions End Class Trước khi dùng, nhớ instantiate class ra 1 đối tượng (Object). Có hằng hà sa số Base Classes trong .NET Framework ta không thể nào kể ra xiết ở đây, tổng quát có thể gom vào những loại (catogories) sau: • String • Collections và Arrays: tỷ như Arrays, Lists, Maps, Linked Lists, ... • WinForms: dùng hiển thị (display) Windows và các Controls tỷ như Text Boxes, Combo Boxes, List Boxes, File Dialogs, ... • Web Forms: phác thảo dùng cho mạng, ta sẽ đào sâu chi tiết ở bài kế. • File Handling: dùng lướt qua lại (navigate) các file system trong máy hay trong mạng, kiểm tra đặc tính (properties) của files, read, modify hay write cũng như chuyển (move) và sao chép (copy) các tập tin hay folders. • Registrry Access: lướt qua lại, đọc hay viết nội dung của registry. • Internet: nối vào mạng, tải lên hay tải xuống các tập tin. • ADO.NET: nối vào các cơ sở dữ liệu (database) và vận dụng các records với 1 khái niệm mới về disconnected data cũng như sử dụng XML để chuyển data đi khắp mọi nơi mọi chỗ. Inheritance Inheritance nắm vai trò quan trọng trong classes và OOP (Object-Oriented Programming) vì tính chất kế thừa của nó. Ta không cần phải tạo ra 1 class mới hoàn toàn khi đã có 1 class tương tự như cái ta muốn (who wants to re-invent the wheel?) mà chỉ cần tạo ra nhánh (giống như nhánh cây) dựa vào gốc (base class). Trở lại trường hợp cái đồng hồ, tỷ như ta đã tạo ra 1 class gọi là Clock, rồi sau đó mới sực nhớ ra có 2 loại đồng hồ: analog và digital. Thay vì quẳng cái Clock class đi và tạo ra 2 cái mới Analog class và Digital class, ta có thể xây dựng class mới lấy Clock class làm cơ bản (base class) và thêm vào đó những gì đặc trưng đến hay liên hệ đến loại của Clock là Analog hay Digital. Tính chất kế thừa này đem lại vận hội mới cho các Kỹ Sư Tin Học khi xây dựng các ứng dụng vì làm cho việc phát triển, triển khai và bảo trì trở nên dễ dàng hơn, đỡ bị ... nhứt 'đầu' hay bạc ... 'râu'. Cú pháp như sau với thí dụ về AnalogClock: Class AnalogClock: Inherit Clock private ClockWound ASP.NET Boolean = False Sub WindClock( ) ClockWound = True End Sub End Class Phương pháp (method) lập trình tổng quát Ngoài việc nắm vững kỹ thuật và cú pháp lập trình, thiết tưởng, ta cũng nên bàn 1 cách tổng quát về phương pháp (method) xây dựng tiêu chuẩn cho việc lập trình các ứng dụng (nói chung) và ASP.NET (nói riêng). Nhớ đây chỉ là một số khái niệm cơ bản khi ta muốn phát triển các dự án ứng dụng lập trình VB.NET cho các trang ASP.NET trong khoá học này. Các tiến trình được nhắc đến ở đây nhằm mục đích hiểu rõ các bước cần thiết trong việc lập trình khi áp dụng cho một dự án thực tế trong công ty của mình. 1. Requirement Specifications (Ðặc điểm kỹ thuật cần thiết) Mặc dù khi trình bày các đề tài trong khoá này, ta chỉ sơ lược về các đặc điểm kỹ thuật cho các bài tập, bài làm ở nhà hay dự án nhưng ta có thể dựa vào đó mà linh động xắp xếp các đặc điểm kỹ thuật cần thiết phù hợp cho dự án của ta trong tương lai. Ngoài ra, ta có thể thêm bớt sao cho dự án của mình được thêm nhiều công dụng thích hợp yêu cầu đòi hỏi của khách hàng. Trên thực tế, Software Consultant phải phỏng vấn nhiều người trong công ty để có một hình ảnh đầy đủ vấn đề về Requirement Specifications. 2. Design (Thiết kế) Từ Requirement Specifications bước qua giai đoạn Thiết kế. Lúc nầy ta sẽ thấy có nhiều điểm không được nêu rõ trong Requirement Specifications và cần làm cho sáng tỏ (clarification) hơn. Công việc nầy do Systems Analyst thực hiện. Nếu dự án lớn thì có Software Architect thiết kế tổng quát trước khi chia ra các Team Leaders ( thường thường là Systems Analysts). Trong giai đoạn nầy có khi phải làm Prototype (thử mô hình mẫu) để biết chắc kỹ thuật mình dùng có đủ khả năng và thích hợp với nhu cầu dự án không. Thiết kế là giai đoạn quan trọng nhất trong chu kỳ phát triển một nhu liệu. Chẳng những ta nghĩ cách xây dựng nhu liệu, mà còn kế hoạch chi tiết cách thử lúc nào, ở đâu trong code. Ta phải tưởng tượng mọi hoàn cảnh bất thường (unusual scenarios) nhưng có thể xãy ra để tìm giải pháp đối phó. Trong các công ty nhỏ hoặc trung (small business), Web Master sẽ làm mọi chuyện từ ... 'cây kim' cho tới ... 'phi thuyền' khi thiết kế các trang ASP.NET. 3. Coding hay Implementation (Thảo chương) Ðây là giai đoạn thảo chương và debug. Trong phần Debug thì có Unit Test (thử từng bộ phận) và Integration Test (thử chung). Mỗi khi có sửa đổi một chút thì phải thử lại nhiều thứ nên nếu có thể viết Test Script để tự động hóa công việc thử nầy (gọi là Regression Test) thì tiết kiệm rất nhiều thời giờ. Nếu nhu liệu phải phản ứng nhanh chóng (good response) trong khi chạy Real-Time thì phải thử nó trong hoàn cảnh phải giải quyết nhiều thỉnh cầu cùng một lúc (gọi là Stress Test). 4. Acceptance Test (Chạy Thử) Khái niệm tổng quát về việc kiểm tra Functional and Acceptance Testing như sau: Sự kiểm tra Functional and Acceptance Testing cũng đóng góp một phần rất quan trọng trong việc lập trình. Một cách tổng quát, trong nhiều kiểu kiểm tra thì sự kiểm tra về mặt chức năng (Functional Testing) giúp người triển khai kiểm soát lại xem phần lập trình ứng dụng đó có phù hợp với mọi chức năng đặt ra trước theo yêu cầu của dự án. Còn sự kiểm tra về mặt thừa nhận (Acceptance Testing) là để kiểm soát xem ứng dụng đó có phù hợp với hoàn cảnh hay môi trường sử dụng hay không, tỷ như chạy thử trong các nền Windows khác nhau, trong các phiên bản Browser khác nhau, trong các loại Browser khác nhau hay cùng phiên bản nhưng screen resolution khác nhau, ... Trong nhiều trường hợp ở tại công ty của khách hàng, Software Consultant chứng kiến các giai đoạn chạy thử để xem nhu liệu xử lý mọi chuyện đúng như liệt kê trước đây. Các công chuyện xử lý chạy có nhanh đủ không, nhất là trong trường hợp nhu liệu phải giải quyết rất nhiều thỉnh cầu cùng một lúc. Trong những hoàn cảnh bất bình thường, nhu liệu có đứng vững không hay 'té' bất ngờ. Nếu dự án lớn, trước Acceptance Test còn có thêm một giai đoạn gọi là Factory Test khi Software Consultant đến tận công ty để chứng kiến ta chạy thử. 5. Commissioning, Roll-Out (Áp dụng) Khi cho áp dụng rồi là bắt đầu giai đoạn Bảo đảm (Warranty) và Bảo trì (Maintenance). Bảo trì là thăm viếng lại nhu liệu để chửa trị Bug (fixing bugs) hay sửa đổi (modification) hay làm thêm (enhancement). Lúc bấy giờ ta sẽ thấy giá trị của một nhu liệu được chú thích tỉ mĩ. Thường thường nhu liệu ta bảo trì là do người khác viết hoặc do chính mình viết từ lâu rồi, không còn nhớ nữa, nên nếu có kèm documentation và được chú thích rõ ràng thì công việc bảo trì sẽ dễ dàng hơn rất nhiều. Khi lập trình cho một công việc hay dự án nhỏ, có khi ta không chú ý nhiều đến giai đoạn Requirement Specifications. Sau nầy lúc đã viết code rồi mới khám phá ra việc mình làm không đúng như điều khách hàng muốn thì rất phiền. Nếu Specifications đã viết rõ ràng thì ta có thể xin thêm tiền thay đổi (variation), nhưng có khi khách hàng vẫn trách là ta không chuyên nghiệp (professional) và có thể mình mất khách trong tương lai. Tiến trình 6 là trở lại tiến trình ban đầu nhằm mục đích kiểm tra Chu Kỳ Phát Triển Nhu Liệu nhiều lần để giảm thiểu lỗi và nhất là khi có sự thay đổi trong phần specifications hầu có thể nâng cấp 1 cách hiệu quả. Tóm tắc Ở bài này, ta đã bàn sơ lược về .NET Framework và tham khảo vài chi tiết về cú pháp của ngôn ngữ lập trình VB.NET cùng phương pháp (method) lập trình để giúp ta xây dựng và phát triển các trang Web 1 các hiệu quả. Một cách tổng quát, ta có 5 loại biến số (variables) và 3 loại logic. Các logic Conditional, Looping và Branching này rất cần thiết trong việc giúp ta tái thi hành các nguồn mã một khi thoả mản điều kiện đã định trước. Ta cũng phân biệt được sự khác nhau giữa Functions và Subroutines và lướt sơ qua khái niệm cùng cách vận dụng các event cũng như classes và khái niệm Inheritance trong OOP. Trong bài kế 'Web Form - Part I', ta sẽ tham khảo về Web Form và vai trò của nó trong ASP.NET . Web Form là 1 khái niệm mới và hấp dẫn trong môi trường mạng vì Web Form cho phép ta kiểm soát ... 'động tịnh' của user qua các objects hiển thị (display) trong User Interface nhưng lại nằm ở phiá Server. Wow! Download Source Code Nguồn mã bài tập 1 Nguồn mã bài tập 2 Bài làm ở nhà Câu hỏi 1: Is VB.NET case sensitive? Câu hỏi 2: Trong VB6 ta có biến số variant, chuyện gì đã xảy ra cho variant ở VB.NET? Cây Hỏi 3: Khi nào ta dùng For loop và khi nào dùng While loop? Bài làm 1: Tạo 1 trang ASP.NET dùng class PERSON để biểu thị về người và object dại diện cho chính bạn với đặc tính (properties) giới tính (Nam/Nữ), màu tóc (xanh, đen, muối tiêu, bạc, ...), màu mắt (đen, đỏ, ...), màu da (ngâm, bánh mật, đen, ...) và ngày tháng năm sinh. Dùng đặc tính (properties) dayofweek của datetime để xác định ngày bạn sinh là ngày nào trong tuần và dùng 1 nút bấm Submit để gọi phương pháp (method) này cũn gnhư hiển thị (display) kết quả ở browser.
File đính kèm:
- Tự học Microsoft ASP.NET.pdf