.III.1. Định nghĩa các lớp giao diện

Một phần của tài liệu Nghiên cứu xây dựng phương án quản lý nhiều bản sao thông tin (+ program) (Trang 34 - 36)

hàng

.III.1. Định nghĩa các lớp giao diện

‡ Ÿ Ơ Ÿ Í

ẵ nh nghỉa c c ẵđi từỡng trung gian nh m ẵ p ửng c c y u cãu tữ c c m y trÙ Ÿ ± Ÿ Ÿ Ơ Ÿ Ÿ m. Ngõn ngự ẵ nh nghỉa giao diẻn (IDL - Interface Definition Language) cho phắp ta ẵ nh nghỉa c cÙ Ù Ÿ

lỉp giao diẻn cho c c ẵđi từỡng c a ửng dũng quăn lỷ ngàn hĂng. Cảu trợc ẵ nh nghỉa giaoŸ ð Ù diẻn cho c c ẵđi từỡng giđng nhừ cảu trợc ẵđi từỡng trong ngõn ngự CŸ ++. B ng c ch t± Ÿ o giao diẻn cho c c ẵđi từỡng giợp cho viẻc g i y u cãu c a Client thõng qua c c lỉp giao diẻn nhừŸ ă Ơ ð Ÿ

lĂ mưt ẵđi từỡng trung gian ẵƯn Server. Ti Server nh n y u cãu c a Client thõng qua băngº Ơ ð ẵ ng kỷ c c ẵđi từỡng ẵờng thĩi g i phừỡng thửc thỳc thi ẵừa vĂo trong tuyƯn ẵo¯ Ÿ ă n. Khi tuyƯn ẵon thỳc thi xong Server tră vỊ c c tham sđ thõng qua ẵđi từỡng trung gian kƯt quă ẵừỡc trăŸ

lĩi chẽnh x c cho Client ẵơ y u cãu. Ÿ Ơ ị ẵày ta ẵ nh nghỉa c c phừỡng thửc vĂ biƯn cho tữngÙ Ÿ

ẵđi từỡng, sau ẵĩ tững ẵđi từỡng ẵừỡc lừu thĂnh file cĩ dng *.idl. Trừỉc ti n, ta ẵ nh nghỉa cho ẵđi từỡng tĂi khoăn (Account):Ơ Ù

// Account.idl interface Account; #ifndef Account_idl #define Account_idl

typedef sequence<Account> AccountList; #include "Customer.idl"

interface Account {

readonly attribute string accountNumber; readonly attribute string creationDate; readonly attribute float balance;

CustomerList getCustomers(); float withdraw(in float amount); float deposit(in float amount); };

#endif

TiƯp ẵƯn ẵ nh nghỉa giao diẻn c c phừỡng thửc vĂ biƯn cho ẵđi từỡng Kh ch hĂng sauÙ Ÿ Ÿ

ẵĩ lừu thĂnh tẻp cĩ t n lĂ Customer.idl.Ơ

// Customer.idl interface Customer; #ifndef Customer_idl #define Customer_idl

typedef sequence<Customer> CustomerList; #include "Account.idl"

interface Customer { attribute string name;

readonly attribute string securityNumber; attribute string address;

AccountList getAccounts();

oneway void updateAccountBalance(in Account account, in float balance);

}; #endif

C c phừỡng thửc ẵè thỳc thi vĂ biƯn củng ẵừỡc ẵ nh nghỉa trong ẵđi từỡng Ngàn hĂng.Ÿ Ù ờng thĩi dùng lẻnh #include ẵè khai b o th m hai lỉp giao diẻn TĂi khoăn vĂ Kh ch

‡ Ÿ Ơ Ÿ

hĂng. Giao diẻn c a lỉp Ngàn hĂng ẵừỡc ẵ nh nghỉa theo phãn thiƯt kƯ dự liẻu, c c biƯn vĂð Ù Ÿ

phừỡng thửc ẵừỡc khai b o mưt c ch tụng qu t vĂ c c thuưc tẽnh nh m cung cảp c cŸ Ÿ Ÿ Ÿ ± Ÿ

// Bank.idl interface Bank; #ifndef Bank_idl #define Bank_idl

typedef sequence<Bank> BankList; #include "Customer.idl"

#include "Account.idl" interface Bank {

attribute string name; attribute string address;

Account createAccount(in Customer customer, in string accountType, in float openingBalance); void deleteAccount(in Account account)

raises (InvalidAccountException); AccountList getAccounts(); (adsbygoogle = window.adsbygoogle || []).push({});

}; #endif

Một phần của tài liệu Nghiên cứu xây dựng phương án quản lý nhiều bản sao thông tin (+ program) (Trang 34 - 36)