Saya harus mengimplementasikan server RMI yang akan menjadi ujung depan untuk dua layanan RMI lainnya. Jadi saya memutuskan hal yang logis untuk dilakukan adalah membuat antarmuka untuk mengimplementasikan antarmuka untuk dua layanan lainnya.
public interface FrontEndServer extends Remote, BookServer, StudentServer
{
// Block empty so far
}
Namun ada metode di StudentServer
/**
* Allows a student to borrow a book
*
* @param studentID of the student who wishes to borrow a book
* @param bookID of the book the student wishes to borrow
* @throws RemoteException
* @throws StudentNotFoundException when a student is not found in the system
*/
void addBookToStudent(int studentID, int bookID) throws RemoteException, StudentNotFoundException;
Saya ingin FrontEndServer
juga memberikan BookNotFoundException
karena layanan ini juga akan memvalidasi apakah buku tersebut benar-benar ada sebelum mencoba menambahkan detailnya.
Apakah ini mungkin atau ide desain saya benar-benar hilang dan ini sebenarnya ide desain yang buruk seolah-olah antarmuka lain berubah dan sebagainya? Dan apakah saya akan lebih baik menulis tanda tangan metode untuk semua metode di dalam FrontEndServer
?