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

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

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

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

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

 

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

 

 

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值