Chuẩn kết nối của Net 1 Cấu tạo của cấu phần Net

Một phần của tài liệu PHÁT TRIỂN PHẦN MỀM THEO HƯỚNG CẤU PHẦN (Trang 132 - 134)

III SO SÁNH JAVABEANS VÀ ACTIVE

2.3 Chuẩn kết nối của Net 1 Cấu tạo của cấu phần Net

2.3.1 Cấu tạo của cấu phần .Net

Trong mơ hình thành phần tổng hợp, các dịch vụ của cấu phần bên trong phục vụ trực tiếp cho máy trạm của các thành phần bên ngoài. Trong thành phần tổng hợp, thành phần bên ngoài để lộ ra giao diện của các thành phần bên trong. Các phương pháp innerM() của các thành phần bên trong trở thành một phần của giao diện của các thành phần bên ngồi như trong hình 6,6. Ví dụ chi tiết được hiển thị trong đoạn code sau đây. Trong thành phần ngăn chặn, nếu yêu cầu các thành phần bên ngoài cần được giúp đỡ từ một thành phần bên trong, yêu cầu được chuyển tiếp đến các thành phần bên trong. Các thành phần bên ngoài không tiếp xúc với giao diện của các thành phần bên trong. Ngăn chặn được hình thành cho client của một thành phần bên ngoài. Máy trạm khơng có khả năng xử lý yêu cầu. Hàm outerM2() các đại diện cho các yêu cầu (request) của

Bài giảng COP – Chuyên ngành: CNPM - Version 1

Biên soạn: Ngô Thị Lan & Nguyễn Lan Oanh - 133

phương thức innerM() của các thành phần bên trong như trong hình 6,7. Một thành phần .NET cũng có thể được tạo ra bởi hỗn hợp các thành phần tổng hợp (aggregations) và ngăn chặn (containment) trong một cấu trúc phẳng hoặc các các cấu phần lồng nhau ở nhiều mức độ.

Ví dụ về sự kết hợp giữa các thành phần tổng hợp và ngăn chặn.

using System; namespace NS1 {

public class Inner {

public void innerM () {

Console.WriteLine (“I am Inner.”) }

} }

using System; using NS1;

public class Outer {

public Inner i = new Inner ();

//aggregation: Outer expose the Inner public void outerM1 ()

{

Console.WriteLine (“I am outer.”); }

public void outerM2() //delegation in containment {

i.innerM(); }

Bài giảng COP – Chuyên ngành: CNPM - Version 1

Biên soạn: Ngô Thị Lan & Nguyễn Lan Oanh - 134

{

outer o1 = new Outer(); Inner i1 = o1.i;

i1.innerM(); //interface to the aggregate o1.outerM();

o1.outerM2(); // interface to the containment Inner i2 = new Inner();

i2.innerM(); }

}

Hình 6.8 chỉ ra phương pháp truyền dẫn trực tiếp của một cấu phần

Một phần của tài liệu PHÁT TRIỂN PHẦN MỀM THEO HƯỚNG CẤU PHẦN (Trang 132 - 134)