软件适配器与代理模式:解决接口不匹配问题
1. 软件适配器
1.1 加密文件示例
首先,我们来看一个加密文件的类 Encrypter :
class Encrypter
def initialize(key)
@key = key
end
def encrypt(reader, writer)
key_index = 0
while not reader.eof?
clear_char = reader.getc
encrypted_char = clear_char ^ @key[key_index]
writer.putc(encrypted_char)
key_index = (key_index + 1) % @key.size
end
end
end
使用这个类加密普通文件很简单,只需打开两个文件并调用 encrypt 方法:
reader = File.open('message.txt')
writer = File.open('message.encrypted', 'w')
encrypter = Encrypter.new('my secret key')
encrypter.encrypt(reader, writer)
1.2 字符串数据加密问题与适配器
但如果要加
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



