阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
Facade(外观)模式是一种通过为多个复杂子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。以医院为例,就医时患者需要与医院不同的职能部门交互,完成挂号、门诊、取药等操作。为简化就医流程,设置了一个接待员的职位,代患者完成上述就医步骤,患者只需与接待员交互即可。5-1给出了以外观模式实现该场景的类图。
【Java 代码】
import java.util.*;
interface Patient{
(1);
}
interface Disposer{
(2);
}
class Registry implements Disposer{ //挂号
public void dispose(Patient patient){
System.out.println("I am registering..."+patient.getName());
}
}
class Doctor implements Disposer{ //医生门诊
public void dispose(Patient patient){
System.out.println("I am diagnosing..."+patient.getName());
}
}
class Pharmacy implements Disposer{
public void dispose(Patient patient){
System.out.println("I am giving medicine..."+patient.getName());
}
}
class Facade{
private Patient patient;
public Facade(Patient patient){ this.patient = patient ; }
public void dispose(){
Registry registry = new Registry();
Doctor doctor = new Doctor();
Pharmacy ph = new Pharmacy();
registry.dispose(patient);
doctor.dispose(patient);
ph.dispose(patient);
}
}
class ConcretePatient implements Patient{
private String name;
public ConcretePatient(String name){this.name = name;}
public String getName(){ return name;}
}
class FacadeTest{
public static void main(String[] args){
Patient patient = (3) ;
(4) f = (5);
(6);
}
}