工作几个月了,接触到了一些方布式系统,颇有趣味。又读了一些书,其中有一本Pattern Oriented System Architecture,刚读了一点儿,开头介绍了一些模式,简单做一点笔记吧。以后有空了,可以把UML图和context,resposibility,role之类的东西一并放上来。
Filter&Pipeline,管道过滤器模式?暂且这么翻译吧。最典型的引用应该是UNIX中的shell了,可以说是UNIX的核心思想也在此有所体现,就是对任务进行划分,然后通过可以自由的配置和组合,达到灵活和重用的目的。管道之间通过过滤器加以连接。自然就看到,模块之间通过数据耦合,自然独立性好了。文章还总结了多种连接方式,比如pull pipe,push pipe,mixed pipe,还有使用并行技术实现的管道,比如UNIX。
Layer模式,最典型的比如OSI的开放互联网络模型,地球人都知道了,不消多讲。不过运用起来,倒是考验人功力的。做什么和不做什么,是一样重要的,所以什么功能应该在哪一层,应该有几层,这种问题,追究起来,不是那么好回答的。当然,考虑过了头,就有过度设计的嫌疑了。
Blackboard模式,黑板?这个我还真没听说过,细细读了一下,大意是应用于统计啊,评估之类的情景。引入了Blackboard,Knowledge Source和Control三个部件。黑板进行集中数据管理,Knowledge Source进行评估,然后把结果写到黑板上,Control通过监视黑板,来进行相应的动作。举了一个语音识别系统的例子,说实话,具体的使用,还没有搞很明白,因为没有接触过相关的例子,改天问问韩mm去,^_^。
Broker模式,代理者模式,用于分布式的。著名的比如CORBA(Common Object Request and Broker Architecture 公共对象请求代理体系,呵呵这个记得比较熟)这个可算是比较大的模式了。涉及了六个角色,client,server,broker,client-side proxy,serve-side proxy和bridge。由于俺们的产品也是分布式的,所以这一节重点读过。读着读着,就想,其实一般的应用,可能使用Dispatcher之类的东东,也够了吧……然后赫然看到一句:The Client-DispatcherServer pattern is a lightweight version of the Direct Communication Broker variant。
后面就是有关interactive system的模式了,讲了两种,MVC(Model-View-Control)和PAC(Presentation-Abstraction-Control),都比较熟悉,pass。
两百年前 means long long time ago...
2006/10/28
面向模式的系统架构——笔记
at
3:06 下午
Labels: Technology
订阅:
博文评论 (Atom)
没有评论:
发表评论