外观模式实例之文件加密

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


 

 

数据库连接池之外观模式+单例模式的实现

项目实践之技术突破之一Java应用程序访问数据库的基本原理  在Java语言中,JDBC(Java DataBase Connection)是应用程序与数据库沟通的桥梁,  即Java语言通过JDBC...
  • grland
  • grland
  • 2008年01月02日 01:22
  • 1609

设计模式---外观模式 实例

代码: #include using namespace std; class stock {     public:         virtual void sell() = 0...
  • u011851539
  • u011851539
  • 2015年05月28日 12:55
  • 259

java/android 设计模式学习笔记(14)---外观模式

这篇博客来介绍外观模式(Facade Pattern),外观模式也称为门面模式,它在开发过程中运用频率非常高,尤其是在现阶段各种第三方 SDK 基本很大概率都会使用外观模式。通过一个外观类使得整个系统...
  • zhao_zepeng
  • zhao_zepeng
  • 2016年07月17日 18:14
  • 3485

Java设计模式概述之结构型模式(外观模式)

六、外观模式(Facade)概述外观模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,隐藏子系统的复杂性,使子系统更加容易使用。外观模式的中的外观是一个抽象的概念,泛指外部的对象。外观对象中...
  • wanghanlincsdn
  • wanghanlincsdn
  • 2017年02月07日 15:34
  • 231

外观模式(二):外观模式应用实例(文件加密模块)

3. 外观模式应用实例        下面通过一个应用实例来进一步学习和理解外观模式。          1. 实例说明        某软件公司欲开发一个可应...
  • Mark_LQ
  • Mark_LQ
  • 2015年04月28日 20:57
  • 567

模板方法与外观模式

模板方法:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类可以不改变一个算法的结构即可冲定义改算法的某些特定步骤.Servlet是模板方法的一个典型应用。 /** ...
  • yingjiebohe
  • yingjiebohe
  • 2012年07月12日 11:33
  • 1018

Java 设计模式——外观模式

今天要说的外观模式是一个相对简单的设计模式,而且在日常的开发中,可能你也会时常使用它,只是你可能并未想过这是一个设计模式。本文会从一些实例着手,来对本文要说明的外观模式进行尽可能全面的讲解。希望于你有...
  • u013761665
  • u013761665
  • 2016年06月06日 00:11
  • 3494

深入浅出外观模式(三):抽象外观类,外观模式效果与适用场景

4. 抽象外观类在标准的外观模式结构图中,如果需要增加、删除或更换与外观类交互的子系统类,必须修改外观类或客户端的源代码,这将违背开闭原则,因此可以通过引入抽象外观类来对系统进行改进,在一定程度上可以...
  • will130
  • will130
  • 2016年01月27日 09:29
  • 442

设计模式C++描述----14.外观(Facade)模式

一. 举例说明 还以我以前做的文件系统(FileSys)为例: 文件系统是一个独立的系统,它提供一套核心的文件操作。 除了文件系统,还有四个子系统,分别是杀毒子系统(KillVirus),压缩子...
  • lwbeyond
  • lwbeyond
  • 2012年05月14日 11:22
  • 2003

外观模式(注意区别于中介者模式)

一.外观模式(有点像中介者模式) 通过一个外观类使得整个系统的接口只有一个统一的高层接口,这样就能降低用户的使用成本,也就对用户屏蔽了很多实现细节,当然在我们的开发过程中,外观模式也是我们封装API的...
  • u011889786
  • u011889786
  • 2016年06月05日 21:24
  • 1655
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:外观模式实例之文件加密
举报原因:
原因补充:

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