外观模式实例之文件加密

原创 2016年05月31日 10:45:28

一.实例说明:

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

二.实例类图:



代码;

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


 

 

相关文章推荐

设计模式-外观模式

定义:子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个借口使得这一子系统更加容易使用。 类图:      说明:Iterator表示抽象迭代器,它定义了访问和遍历元素的接口;Conc...

JAVA设计模式(06):结构型-适配器模式(Adapter)

概述 在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的。那么如何应对这种“迁移的变化”?如何既能利用现有对象的良好实现,同...

不兼容结构的协调——适配器模式(四)

9.6 缺省适配器              缺省适配器模式是适配器模式的一种变体,其应用也较为广泛。缺省适配器模式的定义如下:缺省适配器模式(Default Adapter Pattern):当不需...
  • LoveLion
  • LoveLion
  • 2013年03月01日 09:23
  • 11475

装饰、外观模式实例代码

  • 2016年04月30日 16:51
  • 12KB
  • 下载

外观模式设计实例c++

  • 2010年04月12日 09:07
  • 286KB
  • 下载

23种设计模式C++实例之外观模式

为各个不同的类提供统一的接口,然后通过外观模式将其组合起来,对外提供一个统一的接口。 #include using namespace std; /* * 外观模式:将子系统中的...

设计模式 - 外观模式(C++实例)

  • 2012年11月21日 10:52
  • 6KB
  • 下载

C++ 简单的文件加密和解密 实例

从网上淘了一段 文件加密的程序,看完之后,明白了它所谓的文件加密,其实原理相当简单:         即是按字节 或 按位 读取一个要加密的文件中的数据,然后与我们自己输入的密码做一些 算法操作,...

C++ 简单的文件加密和解密 实例

从网上淘了一段 文件加密的程序,看完之后,明白了它所谓的文件加密,其实原理相当简单:         即是按字节 或 按位 读取一个要加密的文件中的数据,然后与我们自己输入的密码做一些 算...

关于对象实例序列化加密解密并写入文件的技巧

最近在网上看见一些文章在讨论如何将一个对象或对象的列表序列化并加密后存储到文件中的讨论,有很多方法针对英文字符串和数值型数据都能很好完成,但是加入中文,或者加入一些诸如DateTime类型的数据后,在...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:外观模式实例之文件加密
举报原因:
原因补充:

(最多只允许输入30个字)