Aha!设计模式(61)-外观模式(1)

网友投稿 564 2022-11-13

Aha!设计模式(61)-外观模式(1)

Aha!设计模式(61)-外观模式(1)

意图

为子系统定义一个高层次的接口,以提高易用性并降低耦合性。

动机

当我们向用户提供一个软件系统时,一般来讲接口越简单,它的使用就会越容易,和其他系统之间的耦合程度也会更低。

假设我们正在开发一个视频转换系统。一般来讲视频转换需要几个步骤:

1.打开转换源文件

2.选择合适的解码器

3.从源文件种读取视频信息

4.分离视频和音频

5.分别选择合适的视频和音频编码器

6.分别对视频和音频进行编码

7.合成视频和音频

8.输出到目标文件

这里的每一步,都需要在输出的容量,音质/画质,处理速度这些相互矛盾的要求中进行平衡,需要选择合适的功能模块并恰当地设定参数。这些决定都是相当的知识才能完成的。对于专业人士来说,这也许不算什么,但是对于一般用户来说,一方面没有那么多专业知识,另一方面也没有那么高的要求,他们要的只是一个足够好的结果,这种做法对他们来说太难了。

因此对于这样的复杂系统来说,除了提供详尽的,强大的接口来满足专业客户的要求之外,还要为一般客户提供一个高层次的,简单的接口。对于视频转换的例子,这个接口可能只要求客户提供输入文件和输出文件的类型以及用途(在电脑上,通过网络分享等)就可以进行视频格式转换了。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:关于log4j日志扩展
下一篇:SpringBoot+Vue+Axios+BootStrap实现图书的增删改查功能示例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~