Tìm hiểu C# và ứng dụng của C# p 29
Số trang: 4
Loại file: pdf
Dung lượng: 232.35 KB
Lượt xem: 12
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Chương 17 Assemblies và VersioningĐơn vị cơ bản trong lập trình .NET là Assembly. Một Assembly là một tập hợp các tập tin mà đối với người sử dụng, họ chỉ thấy đó là một tập tin DLL hay EXE. .NET định nghĩa Assembly là một đơn vị có khả năng tái sử dụng (re-use), mang số hiệu phiên bản (versioning), bảo mật (security) và cuối cùng là khả năng triển khai (deployment) Asssembly có thể chứa đựng nhiều thành phần khác ngoài mã chương trình ứng dụng như tài nguyên (resource, ví dụ tập tin .GIF), thông tin mô...
Nội dung trích xuất từ tài liệu:
Tìm hiểu C# và ứng dụng của C# p 29Assemblies và Versioning Gvhd: Nguyễn Tấn Trần Minh KhangChương 17 Assemblies và VersioningĐơn vị cơ bản trong lập trình .NET là Assembly. Một Assembly là một tập hợp cáctập tin mà đối với người sử dụng, họ chỉ thấy đó là một tập tin DLL hay EXE..NET định nghĩa Assembly là một đơn vị có khả năng tái sử dụng (re-use), mang sốhiệu phiên bản (versioning), bảo mật (security) và cuối cùng là khả năng triển khai(deployment)Asssembly có thể chứa đựng nhiều thành phần khác ngoài mã chương trình ứngdụng như tài nguyên (resource, ví dụ tập tin .GIF), thông tin mô tả kiểu (typedefinition), siêu dữ liệu (metadata) về mã và dữ liệu.17.1 Tập tin PEAssembly được lưu trữ trên dĩa từ theo dạng thức tập tin Portable Executable (PE).Dạng thức tập tin PE của .NET cũng giống như tập tin PE bình thường củaWindows NT. Dạng thức PE được cài đặt thành dạng thức tập tin DLL và EXE.Về mặt logic, assembly chứa đựng một hay nhiều module. Mỗi module được tổchức thành một DLL và đồng thời mỗi module là một cấu thành của assembly. Cácmodule tự bản thân chúng không thể chạy được, các module phải kết hợp với nhauthành assembly thì mới có thể làm được việc gì đó hữu ích.17.2 MetadataMetadata là thông tin được lưu trữ bên trong assembly với mục đích là để mô tả cáckiểu dữ liệu, các phương thức và các thông tin khác về assembly. Do có chứametadata nên assembly có khả năng tự mô tả.17.3 Ranh giới an ninhAssembly tạo ra một ranh giới an ninh (security boundary). Các kiểu dữ liệu địnhnghĩa bên trong assembly bị giới hạn phạm vi tại ranh giới assembly. Để có thể sửdụng chung một kiểu dữ liệu giữa 2 assembly, cần phải chỉ định rõ bằng tham chiếu(reference) trong IDE hoặc dòng lệnh.17.4 Số hiệu phiên bản (Versioning)Mỗi assembly có số hiệu phiên bản riêng. Một “phiên bản” ám chỉ toàn bộ nội dungcủa một assembly bao gồm cả kiểu dữ liệu và resource.17.5 ManifestManifest chính là một thành phần của metadata. Manifest mô tả một assembly chứanhững gì, ví dụ như: thông tin nhận dạng (tên, phiên bản), danh sách các kiểu dữ 196Assemblies và Versioning Gvhd: Nguyễn Tấn Trần Minh Khangliệu, danh sách các resource, danh sách các assembly khác được assembly này thamchiếu đến, …17.5.1 Các module trong manifestMột assembly có thể chứa nhiều module, do đó manifest trong assembly còn có thểchứa mã băm (hash code) của mỗi module lắp ghép thành assembly để bảo đảmrằng khi thực thi, chỉ có thể nạp các module đúng phiên bản.Chỉ cần một sự thay đổi rất rất nhỏ trong module là mã băm sẽ thay đổi.17.5.2 Manifest trong moduleMỗi module cũng chứa riêng phần manifest mô tả cho chính nó giống như assemblychứa manifest mô tả cho assembly vậy.17.5.3 Các assembly cần tham chiếuManifest của assembly cũng có thể chứa tham chiếu đến các assembly khác. Mỗitham chiếu chứa đựng tên, phiên bản, văn hóa (culture), nguồn gốc (originator),…Thông tin về nguồn gốc chính là chữ ký số (digital signature) của lập trình viên haycủa công ty nơi cung cấp assembly mà assembly hiện tại đang tham chiếu đến.Văn hóa là một đối tượng chứa thông tin về ngôn ngữ, cách trình bày của mỗi quốcgia. Ví dụ như cách thể hiện ngày tháng: D/M/Y hay M-D-Y17.6 Đa Module AssemblyMột assembly đơn module là một assembly chỉ gồm một module, module này cóthể là một tập tin EXE hoặc DLL. Manifest cho assembly đơn module được nhúngvào trong module.Một assembly đa module là một assembly bao gồm nhiều tập tin (ít nhất một tập tinEXE hoặc DLL). Manifest cho assembly đa module có thể được lưu trữ thành mộttập tin riêng biệt hoặc được nhúng vào một module nào đó bất kỳ.17.6.1 Lợi ích của đa module assemblyNếu một dự án có nhiều lập trình viên mà dự án đó chỉ xây dựng bằng mộtassembly, việc kiểm lỗi, biên dịch dự án,… là một “ác mộng” vì tất cả các lập trìnhviên phải hợp tác với nhau, phải kiểm tra phiên bản, phải đồng bộ hóa mã nguồn,…Nếu một ứng dụng lớn được xây dựng bằng nhiều assembly, khi cần cập nhật(update) để sửa lỗi chẳng hạn, thì chỉ cần cập nhật một / vài assembly mà thôi.Nếu một ứng dụng lớn được tổ chức từ nhiều assembly, chỉ có những phần mãchương trình thường sử dụng / quan trọng thuộc một vài assembly là được nạp vàobộ nhớ, do đó làm giảm bớt chi phí bộ nhớ, tăng hiệu suất hệ thống. 197Assemblies và Versioning Gvhd: Nguyễn Tấn Trần Minh Khang17.7 Assembly nội bộ (private assembly)Có 2 loại Assembly: nội bộ (private) và chia sẻ (shared). Assembly nội bộ được dựđịnh là chỉ dùng cho một ứng dụng, còn assembly chia sẻ thì ngược lại, dùng chonhiều ứng dụng.Các assembly nội bộ được ghi trên dĩa từ thành một tập tin EXE hoặc DLL trongcùng thư mục với assembly chính hoặc trong các thư mục con của thư mục chứaassembly chính. Để thực thi trên máy khác chỉ cần sao chép đúng cấu trúc thư mụclà đủ, không ...
Nội dung trích xuất từ tài liệu:
Tìm hiểu C# và ứng dụng của C# p 29Assemblies và Versioning Gvhd: Nguyễn Tấn Trần Minh KhangChương 17 Assemblies và VersioningĐơn vị cơ bản trong lập trình .NET là Assembly. Một Assembly là một tập hợp cáctập tin mà đối với người sử dụng, họ chỉ thấy đó là một tập tin DLL hay EXE..NET định nghĩa Assembly là một đơn vị có khả năng tái sử dụng (re-use), mang sốhiệu phiên bản (versioning), bảo mật (security) và cuối cùng là khả năng triển khai(deployment)Asssembly có thể chứa đựng nhiều thành phần khác ngoài mã chương trình ứngdụng như tài nguyên (resource, ví dụ tập tin .GIF), thông tin mô tả kiểu (typedefinition), siêu dữ liệu (metadata) về mã và dữ liệu.17.1 Tập tin PEAssembly được lưu trữ trên dĩa từ theo dạng thức tập tin Portable Executable (PE).Dạng thức tập tin PE của .NET cũng giống như tập tin PE bình thường củaWindows NT. Dạng thức PE được cài đặt thành dạng thức tập tin DLL và EXE.Về mặt logic, assembly chứa đựng một hay nhiều module. Mỗi module được tổchức thành một DLL và đồng thời mỗi module là một cấu thành của assembly. Cácmodule tự bản thân chúng không thể chạy được, các module phải kết hợp với nhauthành assembly thì mới có thể làm được việc gì đó hữu ích.17.2 MetadataMetadata là thông tin được lưu trữ bên trong assembly với mục đích là để mô tả cáckiểu dữ liệu, các phương thức và các thông tin khác về assembly. Do có chứametadata nên assembly có khả năng tự mô tả.17.3 Ranh giới an ninhAssembly tạo ra một ranh giới an ninh (security boundary). Các kiểu dữ liệu địnhnghĩa bên trong assembly bị giới hạn phạm vi tại ranh giới assembly. Để có thể sửdụng chung một kiểu dữ liệu giữa 2 assembly, cần phải chỉ định rõ bằng tham chiếu(reference) trong IDE hoặc dòng lệnh.17.4 Số hiệu phiên bản (Versioning)Mỗi assembly có số hiệu phiên bản riêng. Một “phiên bản” ám chỉ toàn bộ nội dungcủa một assembly bao gồm cả kiểu dữ liệu và resource.17.5 ManifestManifest chính là một thành phần của metadata. Manifest mô tả một assembly chứanhững gì, ví dụ như: thông tin nhận dạng (tên, phiên bản), danh sách các kiểu dữ 196Assemblies và Versioning Gvhd: Nguyễn Tấn Trần Minh Khangliệu, danh sách các resource, danh sách các assembly khác được assembly này thamchiếu đến, …17.5.1 Các module trong manifestMột assembly có thể chứa nhiều module, do đó manifest trong assembly còn có thểchứa mã băm (hash code) của mỗi module lắp ghép thành assembly để bảo đảmrằng khi thực thi, chỉ có thể nạp các module đúng phiên bản.Chỉ cần một sự thay đổi rất rất nhỏ trong module là mã băm sẽ thay đổi.17.5.2 Manifest trong moduleMỗi module cũng chứa riêng phần manifest mô tả cho chính nó giống như assemblychứa manifest mô tả cho assembly vậy.17.5.3 Các assembly cần tham chiếuManifest của assembly cũng có thể chứa tham chiếu đến các assembly khác. Mỗitham chiếu chứa đựng tên, phiên bản, văn hóa (culture), nguồn gốc (originator),…Thông tin về nguồn gốc chính là chữ ký số (digital signature) của lập trình viên haycủa công ty nơi cung cấp assembly mà assembly hiện tại đang tham chiếu đến.Văn hóa là một đối tượng chứa thông tin về ngôn ngữ, cách trình bày của mỗi quốcgia. Ví dụ như cách thể hiện ngày tháng: D/M/Y hay M-D-Y17.6 Đa Module AssemblyMột assembly đơn module là một assembly chỉ gồm một module, module này cóthể là một tập tin EXE hoặc DLL. Manifest cho assembly đơn module được nhúngvào trong module.Một assembly đa module là một assembly bao gồm nhiều tập tin (ít nhất một tập tinEXE hoặc DLL). Manifest cho assembly đa module có thể được lưu trữ thành mộttập tin riêng biệt hoặc được nhúng vào một module nào đó bất kỳ.17.6.1 Lợi ích của đa module assemblyNếu một dự án có nhiều lập trình viên mà dự án đó chỉ xây dựng bằng mộtassembly, việc kiểm lỗi, biên dịch dự án,… là một “ác mộng” vì tất cả các lập trìnhviên phải hợp tác với nhau, phải kiểm tra phiên bản, phải đồng bộ hóa mã nguồn,…Nếu một ứng dụng lớn được xây dựng bằng nhiều assembly, khi cần cập nhật(update) để sửa lỗi chẳng hạn, thì chỉ cần cập nhật một / vài assembly mà thôi.Nếu một ứng dụng lớn được tổ chức từ nhiều assembly, chỉ có những phần mãchương trình thường sử dụng / quan trọng thuộc một vài assembly là được nạp vàobộ nhớ, do đó làm giảm bớt chi phí bộ nhớ, tăng hiệu suất hệ thống. 197Assemblies và Versioning Gvhd: Nguyễn Tấn Trần Minh Khang17.7 Assembly nội bộ (private assembly)Có 2 loại Assembly: nội bộ (private) và chia sẻ (shared). Assembly nội bộ được dựđịnh là chỉ dùng cho một ứng dụng, còn assembly chia sẻ thì ngược lại, dùng chonhiều ứng dụng.Các assembly nội bộ được ghi trên dĩa từ thành một tập tin EXE hoặc DLL trongcùng thư mục với assembly chính hoặc trong các thư mục con của thư mục chứaassembly chính. Để thực thi trên máy khác chỉ cần sao chép đúng cấu trúc thư mụclà đủ, không ...
Tìm kiếm theo từ khóa liên quan:
Tìm hiểu ngôn ngữ C# C# và .Net Framework lập trình c# ngôn ngữ C# tài liệu c#Gợi ý tài liệu liên quan:
-
161 trang 129 1 0
-
Giáo trình Kỹ thuật lập trình nâng cao (Ngành: Tin học ứng dụng) - CĐ Kinh tế Kỹ thuật TP.HCM
119 trang 66 0 0 -
33 trang 65 0 0
-
thủ thuật windows XP hay nhất phần 2
14 trang 41 0 0 -
1 trang 41 0 0
-
Bài giảng Lập trình Windows Form với C#: Chương 1 - Lê Thị Ngọc Hạnh
56 trang 33 0 0 -
Tự học C# bằng hình ảnh cho người mới bắt đầu: Phần 1
88 trang 30 0 0 -
hướng dẫn sử dụng Rhino Ceros phần 6
12 trang 26 0 0 -
1 trang 25 0 0
-
accounting reference desktop 2002 phần 6
64 trang 25 0 0