Defining the product (abstract type) and its concrete implementation

In our case, the MessageApp interface represents an abstract product type. The implementation of each messaging app would reside in their respective concrete classes, which are concrete product types, such as SMSMessage, EmailMessage, and WhatsAppMessage. This relationship is described with the following diagram:

The product (abstract type) and all of the concrete product classes should look as follows:

// Product (abstract type)
public interface MessageApp {
void sendMessage(String message);
}

//Concrete Product
public class EmailMessage implements MessageApp {
@Override
public void sendMessage(String message) {
//Mail specific implementation
System.out.println("Sending eMail message ...."+message);
}
}

//Concrete Product
public class SMSMessage implements MessageApp {
@Override
public void sendMessage(String message) {
//SMS specific implementation.
System.out.println("sending SMS message ..."+message);
}
}

//Concrete Product
public class WhatsAppMessage implements MessageApp {
@Override
public void sendMessage(String message) {
//Whatsapp specific implementation
System.out.println("Sending Whatsapp message ..."+message);
}
}
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.30.62