Aha!设计模式(61)-外观模式(1)
Aha!设计模式(61)-外观模式(1)
意图
为子系统定义一个高层次的接口,以提高易用性并降低耦合性。
动机
当我们向用户提供一个软件系统时,一般来讲接口越简单,它的使用就会越容易,和其他系统之间的耦合程度也会更低。
假设我们正在开发一个视频转换系统。一般来讲视频转换需要几个步骤:
1.打开转换源文件
2.选择合适的解码器
3.从源文件种读取视频信息
4.分离视频和音频
5.分别选择合适的视频和音频编码器
6.分别对视频和音频进行编码
7.合成视频和音频
8.输出到目标文件
这里的每一步,都需要在输出的容量,音质/画质,处理速度这些相互矛盾的要求中进行平衡,需要选择合适的功能模块并恰当地设定参数。这些决定都是相当的知识才能完成的。对于专业人士来说,这也许不算什么,但是对于一般用户来说,一方面没有那么多专业知识,另一方面也没有那么高的要求,他们要的只是一个足够好的结果,这种做法对他们来说太难了。
因此对于这样的复杂系统来说,除了提供详尽的,强大的接口来满足专业客户的要求之外,还要为一般客户提供一个高层次的,简单的接口。对于视频转换的例子,这个接口可能只要求客户提供输入文件和输出文件的类型以及用途(在电脑上,通过网络分享等)就可以进行视频格式转换了。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~