1 / 11
文档名称:

对象适配器模式.docx

格式:docx   大小:36KB   页数:11页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

对象适配器模式.docx

上传人:majx0413 2021/11/27 文件大小:36 KB

下载得到文件列表

对象适配器模式.docx

文档介绍

文档介绍:精品
实验项目名称: 对象适配器模式
(所属课程: 软件设计模式 )
学 院:计算机科学与信息工程学院 专业班级:软件工程 13-1
姓 名:王会芳 学 号:
实验日期: 2016 年 4 月 3 实验地点: A06 404 合作者: 指导教师:高

本实验项目成绩: 教师签字: 日期:
一、 实验目的与要求
1. 练****使用对象适配器模式。设计相关的模拟场景并进行实施, 验证
模式特性,掌握其优缺点。
实验结束后,对相关内容进行总结。
二、实验内容
模式应用场景说明
某系统需要提供一个加密模块,将用户信息(如密码等机密信息)机密之后
再存储在数据库中, 系统已经定义好了数据库操作类。 为了提高开发效率, 现需
要重用已有的加密算法, 这些算法封装在一些由第三方提供的类中, 有些甚至没
有源代码。使用适配器模式设计该加密模块, 实现在不修改现有类的基础上重用
第三方加密方法。
应用场景类图
感谢下载载
精品
通过分析,可使用对象适配器模式实现该系统设计,该实例类图如图 1 所示。
DataOperation
{abstract}
- password : String
+ setPassword(String password) : void
+ getPassword() : String
+ doEncrypt(int key, String ps) : String
CipherAdapter NewCipherAdapter
- cipher : Caesar - cipher : NewCipher
+ CipherAdapter() + NewCipherAdapter()
+ doEncrypt(int key, String ps) : String + doEncrypt(int key, String ps) : String
cipher cipher
Caesar NewCipher
+ doEncrypt(int key, String ps) : String + doEncrypt(int key, String ps) : String
图 1 加密适配器类图
实现代码与解释
(1) 目标抽象类 DataOperation( 数据操作类 )
public abstract class DataOperation {
private String password;
public void setPassword(String password)
{
=password;
感谢下载载
精品
}
public String getPassword()
{
return ;
}
public abstract String doEncrypt(int key, String ps);
}
DataOperation 类中包含了抽象方法 doEncrypt() ,客户端针对抽象类
DataOperation 进行编程,在客户端代码中调用 DataOperation 的 doEncrypt()
实现数据加密。
适配者类 Caesar( 数据加密 ) public class Caesar {
public String doEncrypt(int key, String ps)
{
String es="";
for(int i=0;i<();i++)
{
char c=(i); if(c>='a'&&c<='z')
{
c+=key%26;
if(c>'z') c-=26;
感谢下载载
精品
if(c<'a')