关闭

外观模式实例之文件加密

761人阅读 评论(0) 收藏 举报
分类:

一.实例说明:

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

二.实例类图:



代码;

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


 

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:33787次
    • 积分:614
    • 等级:
    • 排名:千里之外
    • 原创:26篇
    • 转载:7篇
    • 译文:0篇
    • 评论:5条
    博客专栏
    文章分类
    最新评论