外观模式实例之文件加密

来源:互联网 发布:cmd命令查看端口号 编辑:程序博客网 时间:2024/06/10 23:37

一.实例说明:

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

二.实例类图:



代码;

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
原创粉丝点击