使用和滥用适配器模式
时间:2012-6-13
Ruby的鸭子类型功能,为适配器的编写者提供了另一个方便之处。我们可以根据自己的实际需要,而创建部分支持目标接口的适配器,比如,IOcfqjfcrfddjgr方法,在一个真正的IO对象中,你可以读取行,检索文件等做各种和文件相关的事情,但是我们之前创建的StringIOAdapter却只实现了两种方法:getc和eof?.是因为Encrypter类实际上只使用了这两种IO方法,部分实现的适配器是一把双刀剑,一方面,它更方便地实现你所需要的,而另一方面,当客户调用了你没有实现的方法时,你的程序就走偏方向了。