Escolar Documentos
Profissional Documentos
Cultura Documentos
Pattern Instance
Class Diagram
Activity Diagram
Sequence Diagram
Communication Diagram
Implementation:
CLASS 1:ApplicationClient.java
public class ApplicationClient {
public static void main(String[] args) {
Application application = new Application();
EmailServiceemailService =
application.locateEmailService();
emailService.sendMail("abc@gmail.com","Hello","A Text
Mail");
emailService.receiveMail("abc@gmail.com");}}
CLASS 2:Application.java
public class Application {
publicEmailServicelocateEmailService()
{
EmailServiceeS = new ProxyEmailService();
returneS;
}
}
CLASS 3:EmailService.java
public interface EmailService {
public void sendMail(String receive,Stringsubject,String text);
public void receiveMail(String receive);
}
CLASS 4:ProxyEmailService.java
public class ProxyEmailService implements EmailService {
privateRealEmailServiceemailService;
public void receiveMail(String receive)
{
if(emailService==null)
{
emailService=new RealEmailService();
emailService.receiveMail(receive);
}
public void sendMail(String receive, String subject, String text)
{
if(emailService==null)
{
emailService = new RealEmailService();
}
emailService.sendMail(receive,subject,text);
}
}
CLASS 5:RealEmailService.java
public class RealEmailService implements EmailService
{
public void sendMail(String receive,Stringsubject,String text)
{
System.out.println("Sending mail to '" + receive + "'" + "with Subject
'" + subject + "' " + " and message '" + text + "'");
}
public void receiveMail(String receive)
{
System.out.println("Receiving Mail from ' " + receive +"'");
}
}
OUTPUT:Sending mail to 'abc@gmail.com'with Subject 'Hello' and message 'A
Text Mail'
Receiving Mail from ' abc@gmail.com'