一.實例說明:
某系統需要提供一個文件加密模塊,加密流程包含三個操作,分別是讀取源文件,加密,保存文件之後的文件。讀取文件和保存文件使用流來實現,這三個操作相對獨立,其相對獨立,其業務代碼封裝在三個不同的類中。現在需要提供一個統一的外觀加密類,用戶可以直接使用該加密外觀類完成文件的讀取,加密和保存三個操作,而不需要與每一個類進行交互,使用外觀模式設計該加密模塊
二.實例類圖:
代碼;
package child;
class CipherMachine:
public class CipherMachine
{
public String encrypt(String plainText)
{
return plainText;
}
}
class FileReader:
public class FileReader
{
public String read(String fileNameSrc)
{
return fileNameSrc;
}
}
class FileWriter:
public class FileWriter
{
public void write(String encryptText,String fileNameDes)
{
System.out.println(encryptText);
System.out.println(fileNameDes);
}
}
package parent;
class EncryptFacade:
import child.CipherMachine;
import child.FileReader;
import child.FileWriter;
public class EncryptFacade
{
private FileReader reader;
private CipherMachine cipher;
private FileWriter writer;
public EncryptFacade()
{
reader=new FileReader();
cipher=new CipherMachine();
writer=new FileWriter();
}
public void fileEncrypt(String fileNameSrc,String fileNameDes)
{
String plainStr=reader.read(fileNameSrc);
String encryptStr=cipher.encrypt(plainStr);
writer.write(encryptStr, fileNameDes);
}
}
package Client;:
class Client:
import parent.EncryptFacade;
public class Client
{
public static void main(String args[])
{
EncryptFacade ef=new EncryptFacade();
ef.fileEncrypt("444", "555");
}
}