Cây phân cấpConnection

Một phần của tài liệu Giáo trình: Java và công nghệ J2ME pdf (Trang 86 - 88)

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 Giáo trình: Java và công nghệ J2ME pdf (Trang 86 - 88)

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

(97 trang)