本站开发的软件简介及下载地址
您现在的位置:首页 >> 电脑知识 >> 软件编程 >> 内容

C语言和设计模式

时间:2012/1/11 19:43:11 点击:

 C语言命令模式的目的主要是为了把命令者和执行者分开。老规矩,举个范例吧。假设李老板是一家公司的头儿,他现在让他的秘书王小姐去送一封信。王小姐当然不会自己亲自把信送到目的地,她会把信交给邮局来完成整个投递的全过程。现在,我们就对投递者、命令、发令者分别作出定义。

  首先定义post的相关数据。

  view plain typedef struct _Post { void (*do)(struct _Post* pPost);}Post;Post完成了实际的投递工作,那么命令呢?

  view plain typedef struct _Command { void* pData;void (*exe)(struct _Command* pCommand);

  }Command;

  void post_exe(struct _Command* pCommand)

  { assert(NULL != pCommand);

  (Post*)(pCommand->pData)->do((Post*)(pCommand->pData));return;}我们看到了Post、Command的操作,那么剩下的就是boss的定义了。

  view plain typedef struct _Boss { Command* pCommand;void (*call)(struct _Boss* pBoss);}Boss;

  void boss_call(struct _Boss* pBoss)

  { assert(NULL != pBoss);

  pBoss->pCommand->exe(pBoss->pCommand);return;}

 

 
分享到:
  • 算命,择日,风水(www.itmao.com) © 2018 版权所有 All Rights Reserved.
  • 站长电话:13559403980;站长QQ:305671986;点击这里给我发消息站长Email:chwc228@163.com 或 chwc88@qq.com; 闽ICP备05011419号