CÁC GIẢI PHÁP LẬP TRÌNH C - TS. NGUYỄN XUÂN THỦY - 9 docx

66 542 0
CÁC GIẢI PHÁP LẬP TRÌNH C - TS. NGUYỄN XUÂN THỦY - 9 docx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 641 Chương 16: Các giao diện mẫu thơng dụng • Hiện thực thêm thuộc tính thành viên liệu để hỗ trợ trạng thái kiện mà bạn cần truyền cho phương thức thụ lý kiện Tốt làm cho trạng thái kiện trở nên bất biến (immutable), bạn nên sử dụng thành viên liệu private readonly sử dụng thuộc tính public phép truy xuất chỉ-đọc đến thành viên liệu • Hiện thực phương thức khởi dựng public hỗ trợ cấu hình ban đầu trạng thái kiện • Làm cho lớp đối số kiện bạn trở nên khả-tuần-tự-hóa (serializable) để thực thi marshal thể qua biên miền ứng dụng biên máy Áp dụng đặc tính System.SerializableAttribute thường đủ cho lớp đối số kiện Tuy nhiên, lớp đối số kiện có yêu cầu hóa đặc biệt, bạn phải thực giao diện System.Runtime.Serialization.ISerializable (xem mục 16.1 để biết cách làm cho lớp trở nên khả-tuần-tự-hóa) Đoạn mã trình bày lớp đối số kiện tùy biến có tên MailReceivedEventArgs Giả sử có mail-server truyền thể lớp MailReceivedEventArgs cho phương thức thụ lý kiện nhận thông điệp e-mail Lớp chứa thông tin người gửi chủ đề thông điệp e-mail using System; [Serializable] public sealed class MailReceivedEventArgs : EventArgs { // Các thành viên private readonly giữ trạng thái kiện // (được phân bổ cho tất phương thức thụ lý kiện) // Lớp MailReceivedEventArgs cho biết gửi mail // chủ đề private readonly string from; private readonly string subject; // Phương thức khởi dựng (khởi tạo trạng thái kiện) public MailReceivedEventArgs(string from, string subject) { this.from = from; this.subject = subject; } // Các thuộc tính chỉ-đọc cho phép truy xuất // trạng thái kiện public string From { get { return from; } } Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 642 Chương 16: Các giao diện mẫu thông dụng public string Subject { get { return subject; } } } Hiện thực mẫu Singleton  Bạn cần bảo đảm có thể kiểu tồn thời điểm cho trước thể khả-truy-xuất tất phần tử ứng dụng  Hiện thực kiểu theo mẫu Singleton sau: • Hiện thực thành viên tĩnh private để giữ tham chiếu đến thể kiểu • Hiện thực thuộc tính tĩnh khả-truy-xuất-cơng-khai phép truy xuất chỉ-đọc đến thể • Hiện thực phương thức khởi dựng private để mã lệnh tạo thêm thể kiểu Trong tất mẫu biết đến, có lẽ mẫu Singleton biết đến nhiều thường sử dụng Mục đích mẫu Singleton bảo đảm có thể kiểu tồn thời điểm cho trước cho phép truy xuất toàn cục đến chức thể Đoạn mã trình bày thực mẫu Singleton cho lớp có tên SingletonExample: public class SingletonExample { // Thành viên tĩnh dùng để giữ tham chiếu đến thể singleton private static SingletonExample instance; // Phương thức khởi dựng tĩnh dùng để tạo thể singleton // Một cách khác sử dụng "Lazy Initialization" // thuộc tính Instance static SingletonExample () { instance = new SingletonExample(); } // Phương thức khởi dựng private dùng để ngăn mã lệnh tạo thêm // thể kiểu singleton private SingletonExample () {} // Thuộc tính public cho phép truy xuất đến thể singleton public static SingletonExample Instance { Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 643 Chương 16: Các giao diện mẫu thông dụng get { return instance; } } // Các phương thức public cung cấp chức singleton public void SomeMethod1 () { /* */ } public void SomeMethod2 () { /* */ } } Để gọi chức lớp SingletonExample, bạn lấy tham chiếu đến singleton thuộc tính Instance gọi phương thức Bạn trực tiếp thực thi thành viên singleton thơng qua thuộc tính Instance Đoạn mã trình bày hai cách này: // Thu lấy tham chiếu đến singleton gọi phương thức SingletonExample s = SingletonExample.Instance; s.SomeMethod1(); // Thực thi chức singleton mà không cần tham chiếu SingletonExample.Instance.SomeMethod2(); 10 Hiện thực mẫu Observer  Bạn cần thực chế hiệu để đối tượng (subject) báo với đối tượng khác (observer) thay đổi trạng thái  Hiện thực mẫu Observer kiểu ủy nhiệm (đóng vai trị trỏ hàm an-toàn-về-kiểu-dữ-liệu—type-safe function pointer) kiểu kiện Cách truyền thống thực mẫu Observer thực hai giao diện: để mô tả observer (IObserver) để mô tả subject (ISubject) Các đối tượng có thực IObserver đăng ký với subject, cho biết chúng muốn thông báo kiện quan trọng (như thay đổi trạng thái) tác động đến subject Subject chịu trách nhiệm quản lý danh sách observer đăng ký thông báo với chúng đáp ứng kiện tác động đến subject Subject thường thông báo với observer phương thức Notify (được khai báo giao diện IObserver) Subject truyền liệu cho observer phương thức Notify, observer cần gọi phương thức khai báo giao diện ISubject để thu lấy thêm chi tiết kiện Mặc dù bạn thực mẫu Observer C# theo cách vừa mơ tả, mẫu Observer q phổ biến giải pháp phần mềm đại nên C# NET Framework cung cấp kiểu kiện ủy nhiệm để đơn giản hóa thực Sử dụng kiện ủy nhiệm nghĩa bạn không cần khai báo giao diện IObserver ISubject Ngồi ra, bạn khơng cần thực logic cần thiết để quản lý thông báo với observer đăng ký —đây phần dễ xảy lỗi viết mã Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 644 Chương 16: Các giao diện mẫu thông dụng NET Framework sử dụng thực cho mẫu Observer dựa-trên-sự-kiện dựa-trên-ủynhiệm thường xuyên đặt tên: mẫu Event File ObserverExample.cs chứa thực cho mẫu Event Ví dụ bao gồm: • Lớp Thermostat (subject)—theo dõi nhiệt độ thơng báo với observer có thay đổi nhiệt độ • Lớp • Ủy nhiệm TemperatureEventHandler—định nghĩa chữ ký phương thức mà tất observer đối tượng Thermostat phải thực, đối tượng Thermostat gọi phương thức kiện thay đổi nhiệt độ • Lớp TemperatureChangeObserver TemperatureAverageObserver—là observer lớp Thermostat thực tùy biến System.EventArgs, sử dụng để đóng gói liệu cần phân bổ cho observer Lớp TemperatureChangeEventArgs—là TemperatureChangeEventArgs (được trình bày bên dưới) dẫn xuất từ lớp lớp System.EventArgs Lớp chứa tất liệu cần thiết để subject truyền cho observer thơng báo với chúng kiện Nếu không cần truyền liệu, bạn định nghĩa lớp đối số (bạn cần truyền đối số null dựng nên kiện) Xem mục 16.8 để biết rõ cách thực lớp đối số kiện tùy biến // Lớp đối số kiện chứa thông tin kiện thay đổi nhiệt độ // Một thể lớp truyền với kiện public class TemperatureChangeEventArgs : System.EventArgs { // Các thành viên liệu chứa nhiệt độ cũ private readonly int oldTemperature, newTemperature; // Phương thức khởi dựng (nhận giá trị nhiệt độ cũ mới) public TemperatureChangeEventArgs(int oldTemp, int newTemp) { oldTemperature = oldTemp; newTemperature = newTemp; } // Các thuộc tính dùng để truy xuất giá trị nhiệt độ public int OldTemperature { get { return oldTemperature; } } public int NewTemperature { get { return newTemperature; } } } Đoạn mã trình bày cách khai báo ủy nhiệm TemperatureEventHandler Dựa khai báo này, tất observer phải thực phương thức (tên không quan trọng), trả Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 645 Chương 16: Các giao diện mẫu thông dụng số: đối tượng Thermostat đối tượng TemperatureChangeEventArgs Trong q trình thơng báo, đối số Thermostat đến đối tượng Thermostat dựng nên kiện, đối số TemperatureChangeEventArgs chứa liệu nhiệt độ cũ void nhận hai đối // Ủy nhiệm cho biết chữ ký mà tất phương thức // thụ lý kiện phải thực public delegate void TemperatureEventHandler(Thermostat s, TemperatureChangeEventArgs e); Lớp Thermostat đối tượng bị giám sát mẫu Observer (Event) Theo lý thuyết, thiết bị giám sát thiết lập nhiệt độ cách gọi thuộc tính Temperature đối tượng Thermostat Khi đó, đối tượng Thermostat dựng nên kiện TemperatureChange gửi đối tượng TemperatureChangeEventArgs đến observer Dưới mã lệnh cho lớp Thermostat: // Lớp mô tả ổn nhiệt, nguồn gốc kiện thay đổi // nhiệt độ Trong mẫu Observer, đối tượng Thermostat subject public class Thermostat { // Trường private dùng để giữ nhiệt độ private int temperature = 0; // Sự kiện dùng để trì danh sách ủy nhiệm observer // dựng nên kiện thay đổi nhiệt độ public event TemperatureEventHandler TemperatureChange; // Phương thức protected dùng để dựng nên kiện TemperatureChange // Vì kiện phát sinh bên kiểu chứa nên // việc sử dụng phương thức protected cho phép lớp dẫn xuất // có cách hành xử tùy biến dựng nên kiện // lớp sở virtual protected void RaiseTemperatureEvent (TemperatureChangeEventArgs e) { if (TemperatureChange != null) { TemperatureChange(this, e); } } // Thuộc tính public dùng để lấy thiết lập nhiệt độ // Phía "set" chịu trách nhiệm dựng nên kiện thay đổi nhiệt độ Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 646 Chương 16: Các giao diện mẫu thông dụng // để thông báo với tất observer thay đổi public int Temperature { get { return temperature; } set { // Tạo đối tượng đối số kiện để chứa // nhiệt độ cũ TemperatureChangeEventArgs e = new TemperatureChangeEventArgs(temperature, value); // Cập nhật nhiệt độ temperature = value; // Dựng nên kiện thay đổi nhiệt độ RaiseTemperatureEvent(e); } } } Với mục đích minh họa mẫu Observer, ví dụ có hai kiểu observer: TemperatureAverageObserver (hiển thị nhiệt độ trung bình kiện thay đổi nhiệt độ xảy ra) TemperatureChangeObserver (hiển thị thông tin thay đổi kiện thay đổi nhiệt độ xảy ra) Dưới mã lệnh cho hai lớp này: // Observer hiển thị thông tin thay đổi nhiệt độ // có kiện thay đổi nhiệt độ xảy public class TemperatureChangeObserver { // Phương thức khởi dựng (nhận tham chiếu đến đối tượng // Thermostat cần TemperatureChangeObserver giám sát) public TemperatureChangeObserver(Thermostat t) { // Tạo thể ủy nhiệm TemperatureEventHandler // đăng ký với Thermostat định t.TemperatureChange += new TemperatureEventHandler(this.TemperatureChange); } Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 647 Chương 16: Các giao diện mẫu thông dụng // Phương thức thụ lý kiện thay đổi nhiệt độ public void TemperatureChange(Thermostat sender, TemperatureChangeEventArgs temp) { System.Console.WriteLine ("ChangeObserver: Old={0}, New={1}, Change={2}", temp.OldTemperature, temp.NewTemperature, temp.NewTemperature - temp.OldTemperature); } } // Observer hiển thị thông tin nhiệt dộ trung bình // có kiện thay đổi nhiệt độ xảy public class TemperatureAverageObserver { // Sum chứa tổng giá trị nhiệt độ // Count chứa số lần kiện thay đổi nhiệt độ xảy private int sum = 0, count = 0; // Phương thức khởi dựng (nhận tham chiếu đến đối tượng // Thermostat cần TemperatureAverageObserver giám sát) public TemperatureAverageObserver (Thermostat t) { // Tạo thể ủy nhiệm TemperatureEventHandler // đăng ký với Thermostat định t.TemperatureChange += new TemperatureEventHandler(this.TemperatureChange); } // Phương thức thụ lý kiện thay đổi nhiệt độ public void TemperatureChange(Thermostat sender, TemperatureChangeEventArgs temp) { count++; sum += temp.NewTemperature; System.Console.WriteLine Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 648 Chương 16: Các giao diện mẫu thông dụng ("AverageObserver: Average={0:F}", (double)sum/(double)count); } } Lớp Thermostat định nghĩa phương thức Main (được trình bày bên dưới) để chạy ví dụ Sau tạo đối tượng Thermostat hai đối tượng observer, phương thức Main nhắc bạn nhập vào nhiệt độ Mỗi bạn nhập nhiệt độ mới, đối tượng Thermostat báo cho observer hiển thị thông tin cửa sổ Console public static void Main() { // Tạo đối tượng Thermostat Thermostat t = new Thermostat(); // Tạo hai observer new TemperatureChangeObserver(t); new TemperatureAverageObserver(t); // Lặp để lấy nhiệt độ từ người dùng Bất giá trị // số nguyên khiến vòng lặp kết thúc { System.Console.Write("\n\rEnter current temperature: "); try { // Chuyển đầu vào người dùng thành số // nguyên sử dụng để thiết lập nhiệt độ // ổn nhiệt t.Temperature = System.Int32.Parse(System.Console.ReadLine()); } catch (System.Exception) { // Sử dụng điều kiện ngoại lệ để kết thúc vòng lặp System.Console.WriteLine("Terminating ObserverExample."); return; } } while (true); Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 649 Chương 16: Các giao diện mẫu thông dụng } Dưới kết xuất chạy ObserverExample.cs (các giá trị in đậm bạn nhập vào): Enter current temperature: 50 ChangeObserver: Old=0, New=50, Change=50 AverageObserver: Average=50.00 Enter current temperature: 20 ChangeObserver: Old=50, New=20, Change=-30 AverageObserver: Average=35.00 Enter current temperature: 40 ChangeObserver: Old=20, New=40, Change=20 AverageObserver: Average=36.67 Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 650 Chương 16: Các giao diện mẫu thông dụng Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 692 Phụ lục A: Giới thiệu số cơng cụ NET Hình A-11 ASP.NET Version Switcher  ASP.NET Version Switcher viết Denis Bauer download [http://www.denisbauer.com/NETTools/ASPNETVersionSwitcher.aspx] A.10 Chuyển đổi phiên dự án với Visual Studio NET Project Converter Visual Studio NET Project Converter (xem hình A-12) sử dụng để chuyển đổi phiên file dự án Visual Studio Mặc dù có khác biệt phiên 1.0 1.1 NET Framework, file dự án chuyển từ Visual Studio NET 2002 sang Visual Studio NET 2003 chuyển ngược lại Đôi việc chuyển ngược lại cần thiết Cơng cụ chuyển file giải pháp hay dự án từ Visual Studio 7.1 (Visual Studio NET 2003) Visual Studio 7.0 (Visual Studio NET 2002), ngược lại Hình A-12 Visual Studio NET Project Converter Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 693 Phụ lục A: Giới thiệu số công cụ NET  Visual Studio NET Project Converter viết Dacris Software download [http://www.codeproject.com/macro/vsconvert.asp] A.11 Chuyển mã nguồn VB.NET sang C# với VB.NET to C# Converter VB.NET to C# Converter sử dụng để chuyển toàn dự án VB.NET sang dự án C# Chương trình chuyển số điểm mà chương trình khác khơng thực được; chẳng hạn lệnh ReDim, biến dùng bộ, chế thụ lý kiện, lệnh Case phức tạp, lời gọi API… [ Hình A-13 VB.NET to C# Converter [ VB.NET to C# Converter trình chuyển đổi mã nguồn sang mã nguồn Sau chuyển đổi, mã lệnh bạn giữ lại tính dễ đọc vốn có (bao gồm tên biến thích) Tính tin cậy chương trình cao, xác 99% hầu hết lần thử nghiệm  VB.NET to C# Converter phát triển VBConversions download (bản dùng thử) [http://www.vbconversions.com] A.12 Chuyển mã nguồn C# sang VB.NET với Convert C# to VB.NET Ngược với VB.NET to C# Converter, Convert C# to VB.NET sử dụng để chuyển mã nguồn C# sang VB.NET Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 694 Phụ lục A: Giới thiệu số cơng cụ NET Hình A-14 Convert C# to VB.NET  Convert C# to VB.NET viết Kamal Patel download [http://www.kamalpatel.net] A.13 Xây dựng website quản trị sở liệu với ASP.NET Maker 1.1 ASP.NET Maker sinh mã mạnh lại dễ sử dụng, giúp bạn nhanh chóng tạo trang quản trị ASP.NET (ngôn ngữ C# hay VB.NET) từ nguồn liệu (các sở liệu hỗ trợ: Microsoft Access, Microsoft SQL Server, Oracle, sở liệu với kết nối ADO hay ODBC) ASP.NET Maker trang bị nhiều tính hữu ích khung nhìn drill-down, chế bảo mật cao cấp, tích hợp với CSS Visual Studio NET… Giả sử bạn cần xây dựng website dùng cho quản trị sở liệu pubs (trong SQL Server) Dưới bước bản: • Trước tiên, vào thẻ Database, đánh dấu chọn Connection String nhập chuỗi “Provider=SQLOLEDB;Initial Catalog=pubs;Data Source=127.0.0.1; User Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 695 Phụ lục A: Giới thiệu số công cụ NET ID=sa;Password=sa” (khơng có dấu ngoặc kép), nhắp nút Connect Danh sách bảng khung nhìn nạp hiển thị phía trái (xem hình A-15) Khi đó, bạn tùy chỉnh trường bảng khung nhìn cho phù hợp Hình A-15 Nạp sở liệu pubs vào ASP.NET Maker • Kế tiếp, vào thẻ ASP.NET, vào thẻ NET Specific Options, chọn phiên NET Framework ngôn ngữ (VB.NET hay C#) Hình A-16 Thẻ ASP.NET | NET Specific Options Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 696 Phụ lục A: Giới thiệu số công cụ NET • Kế tiếp, vào thẻ Security, đánh dấu chọn Administrator Login, nhập Login Name Password Đây tài khoản quản trị (sẽ viết mã cứng) Hình A-17 Thẻ Security • Cuối cùng, vào thẻ Generate nhắp nút Generate Sau xây dựng thành công, bạn vào http://localhost/pubs để xem kết Hình A-18 Thẻ Generate  ASP.NET Maker phát triển e.World download (bản dùng thử) [http://www.hkvstore.com] Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 697 PHỤ LỤC B: THUẬT NGỮ ANH - VIỆT PHỤ LỤC B THUẬT NGỮ ANH – VIỆT Absolute [adj] Tuyệt đối Abstract [adj] Trừu tượng Access [v] Truy xuất Access modifier Từ khóa thay đổi tầm truy xuất Accessibility Khả truy xuất Account Tài khoản ACL [Access Control List] Danh sách điều khiển truy xuất Administrator Người quản trị Aggregate function Hàm tập họp Algorithm Giải thuật API [Application Programming Interface] Giao diện lập trình ứng dụng Application Ứng dụng Application domain Miền ứng dụng Argument Đối số Arithmetic Số học Array Mảng Assembly Gói kết hợp Asymmetric [adj] Bất đối xứng Asynchronous [adj] Bất đồng Attribute Đặc tính Authentication Sự xác thực Authorization Sự phân quyền Availability Tính khả dụng Binary Nhị phân Block Khối Bound Cận Boundary Đường biên / Ranh giới Breakpoint Điểm dừng Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 698 Phụ lục B: Thuật ngữ Anh - Việt Browser .Trình duyệt Buffer Bộ đệm Built-in [adj] Nội Cache Kho chứa (truy xuất nhanh) Caching Cơ chế lưu giữ CAS [Code Access Security] Bảo mật truy xuất mã lệnh Certificate Chứng Channel Kênh Character Ký tự Class Lớp Client Trình khách Clone [v] Sao chép Cloneable [adj] Khả chép CLR [Common Language Runtime] Bộ thực thi ngôn ngữ chung Code Mã lệnh Collection Tập hợp Column Cột Command Lệnh Communication Sự giao tiếp Comparable [adj] Khả so sánh Compare [v] So sánh Compatibility Tính tương thích Compile [v] Biên dịch Compiler Trình biên dịch Component Thành phần Component tray Khay thành phần Configuration Cấu hình Connection Kết nối Constant Hằng Constructor Phương thức khởi dựng Context Ngữ cảnh Context-sensitive help Trợ giúp cảm-ngữ-cảnh Control Điều kiểm Convert [v] Chuyển đổi Convertible [adj] Khả chuyển đổi Cryptography Mật mã Culture Miền văn hóa Custom [adj] Tùy biến Data Dữ liệu Data binding Kỹ thuật kết liệu Database Cơ sở liệu De-compile [v] Dịch ngược Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 699 Phụ lục B: Thuật ngữ Anh - Việt De-serialize [v] Giải hóa Decrypt [v] Giải mật hóa Decryption Sự giải mật hóa Debug [v] Gỡ rối Debugger Trình gỡ rối Default Mặc định Delegate Ủy nhiệm hàm Deploy [v] Triển khai Destructor Phương thức hủy Device Thiết bị Derive [v] Dẫn xuất Dictionary Từ điển Digital signature Chữ ký số Directive Chỉ thị Directory Thư mục Disposable [adj] Khả hủy Dispose [v] Hủy Distributed [adj] Có tính phân tán Document Tài liệu Domain Miền Edit [v] Hiệu chỉnh Editor Trình soạn thảo Encapsulation Sự đóng gói Encode [v] Mã hóa Encoding Phép mã hóa Encrypt [v] Mật hóa Encryption Sự mật hóa Entry Khoản mục Enumeration Kiểu liệt kê Environment Môi trường Error Lỗi Event Sự kiện Event hander Phương thức thụ lý kiện Event log Nhật ký kiện Evidence Chứng Exception Biệt lệ Exception hander Phương thức thụ lý biệt lệ Expiration Sự hết hiệu lực Export [v] Xuất Expression Biểu thức Feature Tính Field Trường File Tập tin Filter Bộ lọc Flag Cờ Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 700 Phụ lục B: Thuật ngữ Anh - Việt Flexibility Tính linh hoạt Form Biểu mẫu Format Định dạng FTP [File Transfer Protocol] Giao thức truyền file Function Hàm Functionality Chức GAC [Global Assembly Cache] Kho chứa gói kết hợp toàn cục GC [Garbage Collector] Bộ thu gom rác Generalization Tính tổng qt hóa Global [adj] Toàn cục Globalization Sự tồn cầu hóa Graphics Đồ họa Group Nhóm GUI [Graphical User Interface] Giao diện người dùng đồ họa GUID [Globally Unique Identifier] Định danh toàn cục Handle [v] Thụ lý Handle Mục quản Hash [v] Băm Hash code Mã băm Hashtable .Bảng băm Help Trợ giúp HTML [HyperText Markup Language] Ngôn ngữ đánh dấu siêu văn Hyperlink Siêu kiên kết IDE [Integrated Development Environment] Mơi trường phát triển tích hợp Identifier Diện từ Imperson [v] Giả nhận Impersonation Sự giả nhận Implement [v] Hiện thực Implementation Bản thực Import [v] Nhập Index Chỉ mục Indexer Bộ mục Inheritance Sự thừa kế Initialize [v] Khởi tạo Input Đầu vào / Dữ liệu nhập Insert [v] Chèn Install [v] Cài đặt Instance Thể Integration Sự tích hợp Interface Giao diện Interoperability Khả liên tác IP [Internet Protocol] Giao thức Internet Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 701 Phụ lục B: Thuật ngữ Anh - Việt Item Mục chọn JIT [just-in-time] Tức thời / Vừa lúc Key Khóa Keyword Từ khóa Language Ngôn ngữ Length Chiều dài Library Thư viện Lifetime Thời gian sống Link Liên kết List Danh sách Literal .Trực kiện Load [v] Nạp Local [adj] Cục Locale Bản địa Localization Sự địa hóa Lock Chốt Logic Mã thi hành chức Loop Vòng lặp Managed [adj] Được quản lý Management Sự quản lý Mapping Phép ánh xạ Member Thành viên Membership Tư cách thành viên Memory Bộ nhớ Menu Trình đơn Message Thông điệp Metacharacter Siêu ký tự Metadata Siêu liệu Method Phương thức Model Mơ hình Module Đơn thể MSIL [Microsoft Intermediate Language] Ngôn ngữ trung gian Multilingual [adj] Đa ngôn ngữ Multithreading Lập trình đa tiểu trình Native [adj] Nguyên sinh Namespace Không gian tên Network Mạng Node Nút Object Đối tượng Object-oriented programming .Lập trình hướng đối tượng Operating system Hệ điều hành Operator Toán tử Output Đầu / Kết xuất Overload Bản nạp chồng Override [v] Chép đè Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 702 Phụ lục B: Thuật ngữ Anh - Việt Parameter Thông số Password Mật Path Đường dẫn Pattern Kiểu mẫu Performance Hiệu Permission Quyền Pixel Điểm ảnh Platform Nền Pointer Con trỏ Policy Chính sách Polymorphisme Tính đa hình Pool Kho dự trữ Pooling Cơ chế dự trữ POP3 [Post Office Protocol 3] Giao thức nhận mail Port Cổng Postfix Hậu tố Prefix Tiền tố Private [adj] Riêng Privilege Đặc quyền Procedure Thủ tục Process Tiến trình Processor Bộ xử lý Project Dự án Property Thuộc tính Protected [adj] Được bảo vệ Protocol Giao thức Public [adj] Công khai Query Truy vấn Queue Hàng đợi Random Ngẫu nhiên RBS [Role-Based Security] Bảo mật dựa-trên-vai-trò Record Bản ghi / Mẩu tin Recursion Sự đệ quy Reference Tham chiếu Reflection Cơ chế phản chiếu Register [v] Đăng ký Regular expression Biểu thức quy Relationship Mối quan hệ Relative [adj] Tương đối Remotable [adj] Khả truy xuất từ xa Resource Tài nguyên Reusability Khả tái sử dụng Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 703 Phụ lục B: Thuật ngữ Anh - Việt Role Vai trò Routine Thường trình Row Hàng / Dòng Runtime Bộ thực thi Schema Lược đồ / Khuôn Script Kịch Security Sự bảo mật Serialize [v] Tuần tự hóa Serializable [adj] Khả hóa Serialization Sự hóa Server Trình chủ Service Dịch vụ Session Phiên làm việc Setting Thiết lập Shared [adj] Được chia sẻ / Dùng chung Signature Chữ ký SMTP [Simple Mail Transfer Protocol] Giao thức truyền mail đơn giản SOAP [Simple Object Access Protocol] Giao thức truy xuất đối tượng đơn giản Solution Giải pháp Specialization Tính chun hóa SQL [Structured Query Language] .Ngơn ngữ truy vấn có cấu trúc Stack Ngăn chồng State Trạng thái State | Stateless [adj] Có trạng thái | Phi trạng thái Statement Câu lệnh / Khai báo Static [adj] Tĩnh Stored procedure Thủ tục tồn trữ Stream Dòng chảy String Chuỗi Strong name Tên mạnh Strong type Kiểu mạnh Strongly-named [adj] Được định tên mạnh Strongly-typed [adj] Được định kiểu mạnh Structure Cấu trúc Symmetric [adj] Đối xứng Synchronization Sự đồng hóa Synchronous [adj] Đồng System Hệ thống System tray Khay hệ thống Table Bảng Tag Thẻ Task Tác vụ Template Khuôn mẫu Thread Tiểu trình / Mạch trình / Tuyến đoạn Thread-safe An toàn tiểu trình Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 704 Phụ lục B: Thuật ngữ Anh - Việt Throw [v] Ném Timestamp Tem thời gian Tool Công cụ Toolbox Hộp công cụ Transaction Phiên giao dịch Type Kiểu Type-safe An toàn kiểu liệu Unmanaged [adj] Không quản lý Update Cập nhật URI [Uniform Resource Identifier] Bộ nhận dạng tài nguyên đồng dạng URL [Uniform Resource Locator] Bộ định vị tài nguyên đồng dạng User Người dùng Utility Tiện ích Validation Sự xác nhận tính hợp lệ Value Giá trị Variable Biến Version Phiên Virtual [adj] Ảo Visible [adj] Khả kiến Visual [adj] Trực quan Wildcard Ký tự đại diện Window Cửa sổ Worker Thợ Wrapper Vỏ bọc WSDL [Web Services Description Language] Ngôn ngữ mô tả dịch vụ Web XML [Extensible Markup Language] Ngôn ngữ đánh dấu mở rộng Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 705 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO CÁC GIẢI PHÁP LẬP TRÌNH C# [1] Allen Jones C# Programmer's Cookbook Microsoft Press, 2004 [2] John Connell Coding Techniques for Microsoft Visual Basic NET Microsoft Press, 2002 [3] Harvey M Deitel, Paul J Deitel, & Tem R Nieto Visual Basic NET How to Program, Second Edition Prentice Hall, 2002 [4] Jose Mojica C# and VB NET Conversion Pocket Reference O'Reilly, 2002 [5] James Avery Ten Must-Have Tools Every Developer Should Download Now MSDN Magazine, 2004 [6] Karl Moore The Ultimate VB.NET and ASP.NET Code Book Apress, 2003 [7] Matthew MacDonald Microsoft Visual Basic NET Programmer's Cookbook Microsoft Press, 2003 [8] Mark Schmidt & Simon Robinson Microsoft Visual C# NET 2003 Developer's Cookbook Sams Publishing, 2003 [9] Dương Quang Thiện Lập trình Visual C# nào? Nhà xuất Tổng Hợp TP Hồ Chí Minh, 2005 [10] Nguyễn Ngọc Bình Phương & Lê Trần Nhật Quỳnh Các giải pháp lập trình Visual Basic NET Nhà xuất Giao thông Vận tải, 2006 [11] Thái Thanh Phong & Nguyễn Ngọc Bình Phương Sổ tay tra cứu VB.NET Nhà xuất Giao thông Vận tải, 2004 [12] Và số website www.msdn.microsoft.com, www.codeproject.com, www.msd2d.com, www.developersdex.com, www.windowsforms.net, www.gotdotnet.com, www.codeguru.com, www.developerfusion.com, v.v Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com CÁC GIẢI PHÁP LẬP TRÌNH C# Nguyễn Ngọc Bình Phương – Thái Thanh Phong tổng hợp & biên dịch Chịu trách nhiệm xuất TS Nguyễn Xuân Thủy Biên tập Hồ Nguyễn Thị Thanh Thúy Trình bày bìa Nguyễn Thị Thanh Thủy Chế & Sửa in Nguyễn Ngọc Bình Phương In 1000 cuốn, khổ 19x27cm, XN in Số 05 Số đăng ký KHXB 180-230/XB-QLXB Cục Xuất Bản cấp ngày 03 tháng 03 năm 2005 In xong nộp lưu chiểu tháng 09 năm 2006 ... khóa m? ?c- cơ-sở Bảng 17.3 trình bày khóa m? ?c- cơ-sở ứng với trường Bảng 17.3 C? ?c trường tĩnh lớp Registry Trường ClassesRoot CurrentConfig CurrentUser Ứng với HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG... thích XML C# (c? ?c thích XML c? ? hiệu l? ?c cho C# , c? ? Visual Studio NET Power Toy với tên VBCommenter th? ?c giống Visual Basic NET) Với NDoc, bạn lập tài liệu cho mã lệnh, lập viết mã (trong thích... assembly phương th? ?c NET Framework .NET Framework cung c? ??p nhiều c? ?ch kh? ?c để th? ?c thao t? ?c tương tự Ví dụ, bạn c? ??n đ? ?c tập liệu từ XML, c? ? nhiều c? ?ch kh? ?c để th? ?c điều này: sử dụng XmlDocument, XPathNavigator,

Ngày đăng: 21/07/2014, 23:20

Mục lục

  • LỜI NÓI ĐẦU

  • CẤU TRÚC CỦA SÁCH

  • QUY ƯỚC

  • YÊU CẦU VỀ HỆ THỐNG

  • CÁCH SỬ DỤNG ĐĨA CD

  • MỤC LỤC

  • Chương 1:PHÁT TRIỂN ỨNG DỤNG

    • 1. Tạo ứng dụng Console

    • 2. Tạo ứng dụng dựa-trên-Windows

    • 3. Tạo và sử dụng module

    • 4. Tạo và sử dụng thư viện

    • 5. Truy xuất các đối số dòng lệnh

    • 6. Chọn biên dịch một khối mã vào file thực thi

    • 8. Tạo và quản lý cặp khóa tên mạnh

    • 9. Tạo tên mạnh cho assembly

    • 10. Xác minh một assembly tên mạnh không bị sửa đổi

    • 11. Hoãn việc ký assembly

    • 12. Ký assembly với chữ ký số Authenticode

    • 13. Tạo và thiết lập tin tưởng một SPC thử nghiệm

    • 14. Quản lý Global Assembly Cache

    • 15. Ngăn người khác dịch ngược mã nguồn của bạn

Tài liệu cùng người dùng

Tài liệu liên quan