Cây phân cấp Connection

Một phần của tài liệu Lập trình thiết bị di động với J2me (Trang 93 - 95)

Khi đưa ra khái niệm cây phân cấp, người ta chủ ý tạo ra một lớp cĩ khả năng mở mọi loại kết nối bao gồm: file, http, datagram, … Tên của lớp này là

Connector. Như vậy nếu sử dụng Connector để mở kết nối, chúng ta chỉ cần gọi một phương thức open cĩ định dạng như sau:

Connector.Open(“protocol:address; parameter”)

Cơ chế mà GCF dùng để mở nhiều loại giao tiếp chỉ bằng một phương thức chung duy nhất này đã chứng minh tính uyển chuyển của GCF. Cơ chế này hoạt động như sau:

Trong thời gian thực thi, mỗi khi cĩ yêu cầu mở một giao thức, Connector sẽ tìm đến lớp tương ứng cài đặt giao thức ấy. Quá trình tìm kiếm này được thực hiện thơng qua phương thức Class.forName(). Ví dụ như để yêu cầu mở kết nối HTTP trong J2ME, yêu cầu đĩ sẽđược viết như sau:

Class.forName(“com.sun.midp.io.j2me.http.Protocol”);

Khi tìm thấy lớp tương ứng, Class.forName() sẽ trả về một đối tượng cĩ cài đặt giao diện Connection (trong đĩ lớp Connector và giao diện Connection đã được định nghĩa sẵn trong CLDC)

Sau đây là cây phân cấp Connection, nĩ bao gồm các lớp mà mỗi lớp được định nghĩa như là một giao diện

Trong kiến trúc của cây phân cấp, cài đặt thật sự của ác giao thức đều nằm ở mức hiện trạng. Trong MIDP 1.0, HttpConnection hỗ trựo một tâpj con HTTP phiên bản 1.0. Do đĩ khi lớp này mở rộng ContentConnection, nĩ đã được cung cấp sẵn hơn 20 phương thức chuyên biệt để giao tiếp thơng qua giao thức HTTP.

Mặc dù DatagramConnection cũng xuất hiện trong cây phân cấp nhưng người ta khơng bắt buộc cài đặt MIDP để hỗ trợ giao thức này.

Một phần của tài liệu Lập trình thiết bị di động với J2me (Trang 93 - 95)

Tải bản đầy đủ (PDF)

(105 trang)