这一章总共包括8个模式,这些模式又分为4类:
- From Mud to Structure
and Filters pattern,和Blackboard pattern
- Distributed Systems
- Interactive Systems
- Adaptable Systems
先 从From Mud to Structure的几个模式谈起,Layer模式,是针对与那些可以被多个子功能块的系统,每个或者每组功能块可以被实现为一层,但是书中也提到了,对 于一个大型的软件系统来说,有时候有些功能块的界限并不明晰,不好区分。Layer模式是三种模式中使用最广泛的,很多大型的软件都是以层来架构的,特别 的网络方面的系统,基本上都是分层架构。
the Pipes and Filters pattern 主要针对出来流数据的系统,例如视频音频流等,每个处理步骤都被封装在一个过滤器对象中,流数据在各个过滤器中通过管道传输,组合不同的过滤器能得到不同 的结果。对这个模式,我以前不知道,当我读到这里时我就有些明白了,当年在听DirectDraw和DirectShow的presentation的时 候,对于流媒体的文件,MPEG4,Mp3等等,可以用相关的工具分析里面的过滤器及接口,如果想要自己做一个播放器,也要建立相关的过滤器和管道,想到 那次presentation的内容,再结合今天读到的这个模式,我就明白了,原来这也是一种架构模式啊,我估计很多媒体播放器就是用的这个架构。
至于Blackboard pattern,书中提到这是来源于人工智能,当你要开发的系统,它的需求并不明朗,位于一个全新的不成熟的领域,那么这个时候,可以用这个模式,先做一个次优的(suboptimal)方案,待到功能逐渐明晰和成熟后,再来修改。
没有评论:
发表评论