外觀模式實例之文件加密

一.實例說明:

        某系統需要提供一個文件加密模塊,加密流程包含三個操作,分別是讀取源文件,加密,保存文件之後的文件。讀取文件和保存文件使用流來實現,這三個操作相對獨立,其相對獨立,其業務代碼封裝在三個不同的類中。現在需要提供一個統一的外觀加密類,用戶可以直接使用該加密外觀類完成文件的讀取,加密和保存三個操作,而不需要與每一個類進行交互,使用外觀模式設計該加密模塊

二.實例類圖:



代碼;

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");
	}
}


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章