论坛首页 入门技术论坛

设计模式之-命令模式(同时对工厂和多线程的思考)

浏览 2090 次
该帖已经被评为新手帖
作者 正文
   发表时间:2008-07-26  

  命令模式是对方法调用的封装,这样可以对调用者和接收者解耦。它遵循我们的一些什么设计原则呢?我认为:1.为交互对象送耦合设计。2.对接口和抽象编程而不对具体类。3.设计要可扩展而不是可修改。

命令模式本身比较简单,应该在我们平时的开发中都有用到。但是在我们一般的应用中,命令模式会和工厂模式,多线程应用,对象序列化等应用结合起来用到。

这里还是以一个消息处理系统为例来介绍,它和观察者不同的是,它是根据消息的类型来执行不同的动作,而观察者里是当消息状态改变是统一通知观察者。

我们这里以一个简单工厂来创建类。实际应用中可能会以配置文件和反射的机制创建。

 

在这里Message在命令模式中承担命令的接收者的角色,同时我们还要定义一个命令的发起者。这里有个MessageListener来接收消息,对消息类型判断然后调用消息。

 

 

对于多线程的应用,我们可以把所以的message设计成线程类。Concrete调用的是message的线程类方法。这样就可以支持并发操作和减轻系统资源。

 

   发表时间:2008-07-26  
看不到楼主的图。。。两个叉
0 请登录后投票
   发表时间:2008-07-26  
我能看的到啊,呵呵。我的图是magicdraw导出的wmf格式的。我换一下。
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics