设计模式-外观模式
某软件公司为新开发的智能手机控制与管理软件提供了一键备份功能,通过该功能可以将原本存储在手机中的通信录、短信、照片、歌曲等资料一次性全部拷贝到移动存储介质(例如MMC卡或SD卡)中。在实现过程中需要与多个已有的类进行交互,例如通讯录管理类、短信管理类等,为了降低系统的耦合度,试使用来设计并编程模拟实现该一键备份功能。
类图:
实现代码:
外观类BackupFacade : package FacadePattern;
public class BackupFacade { private SMSManagement smsManagement = new SMSManagement(); private AddressbookManagement addressbookManagement = new AddressbookManagement();
public void Manage(){ System.out.println("启用一键备份"); smsManagement.Manage(); addressbookManagement.Manage(); }
}
子系统类AddressbookManagement : package FacadePattern;
public class AddressbookManagement { public void Manage(){ System.out.println("通讯录备份"); } }
子系统类SMSManagement : package FacadePattern;
public class SMSManagement { public void Manage(){ System.out.println("短信备份"); } }
客户端类Client : package FacadePattern;
public class Client { public static void main(String[] args) { BackupFacade backupFacade = new BackupFacade(); backupFacade.Manage(); } } |