外观模式实例之文件加密

一.实例说明:

        某系统需要提供一个文件加密模块,加密流程包含三个操作,分别是读取源文件,加密,保存文件之后的文件。读取文件和保存文件使用流来实现,这三个操作相对独立,其相对独立,其业务代码封装在三个不同的类中。现在需要提供一个统一的外观加密类,用户可以直接使用该加密外观类完成文件的读取,加密和保存三个操作,而不需要与每一个类进行交互,使用外观模式设计该加密模块

二.实例类图:

外观模式实例之文件加密_第1张图片


代码;

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


 

 

你可能感兴趣的:(外观模式实例之文件加密)