几种常见的C语言设计模式特点分析.pdf

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
精品文档 谈到用说话,更多是说话惯用法,而非计划形式,他们是不同层面的观点, MVC那就扯得更 远了,计划形式是针对利用 top down 上去,而非一种特定的说话,假如为说话而形式,为 形式而形式那便是刻舟求剑。广义的计划形式是针对面向工具这种说话, C 用的啰嗦一点, 模仿出工具干系,应用 GOF总结的计划形式是没成绩的,但干系假如整地过于繁杂就违反 C 说话精干的特色, 就不要用 C 了。广义的是针对一种编程范式中的形式, 象 C 这种命令式说 话,模仿函数式编程照样力不从心,函数式里的形式就用不来。 C 的惯用法重要会合在 macro, 用好了会感到代码清楚,反复很少。 C 不是 OO说话,但编程 中能够利用一些 OO思惟。 好比工具的观点, C++的 class 便是 struct 的升级版,所以在 C 中一个 struct 变量能够视 为一个工具实例。 好比有一个玩家工具布局体 struct Player ,内有属性 HP。承继玩家的,有兵士和法师。 那末能够这么写: struct Player { int HP;// 血量 }; struct Warrior { struct Player base; int Attack;// 攻击力 int Defensive;// 进攻力 }; struct Mage { struct Player base; int MP;// 邪术值 int Range;// 施法规模 }; // 玩家挂了吗? int Player_IsDead(struct Player* player) { return (player-HP==0) ? 1 : 0; } // 吃血 void Player_DrinkRedBottle(struct Player* player, int bottle_level) { if( bottle_level == 1 ) player-HP += 100;// 小瓶 else if( bottle_level == 2 ) player-HP += 500;// 大瓶 } struct Warrior w; struct Mage m; // 兵士没挂就吃个小血瓶 if( !Player_IsDead((struct Player*)w) ) { Player_DrinkRedBottle((struct Player*)w, 1); } // if( !Player_IsDead((struct Player*)m) ) { Player_DrinkRedBottle((struct Player*)m, 1); 。 1欢迎下载 精品文档 } 这种写法不如 C++的便利,短缺充足的语法反省,但也算够用了。 C别的一个很实用的器械便是函数指针,用回调的方法能够完成许多器械,好比插件架构。 这么写 C,看起来远不如间接用 C++便利。然则 C++特征太多,纵然有经验的人也可能堕入 过计划中。写法式,着眼点应该是办理营业成绩,依据营业停止思虑。 C 更

文档评论(0)

Lxq3610 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档