《几种常见的C语言设计模式特点分析(2页).doc》由会员分享,可在线阅读,更多相关《几种常见的C语言设计模式特点分析(2页).doc(2页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-几种常见的C语言设计模式特点分析-第 2 页谈到用说话,更多是说话惯用法,而非计划形式,他们是不同层面的观点,MVC那就扯得更远了,计划形式是针对利用top down上去,而非一种特定的说话,假如为说话而形式,为形式而形式那便是刻舟求剑。广义的计划形式是针对面向工具这种说话,C 用的啰嗦一点,模仿出工具干系,应用GOF总结的计划形式是没成绩的,但干系假如整地过于繁杂就违反C说话精干的特色,就不要用C了。广义的是针对一种编程范式中的形式,象C这种命令式说话,模仿函数式编程照样力不从心,函数式里的形式就用不来。C的惯用法重要会合在macro, 用好了会感到代码清楚,反复很少。C不是OO说话,但编
2、程中能够利用一些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(struc
3、t 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);这种写法不如C+的便利,短缺充足的语法反省,但也算够用了。C别的一个很实用的器械便是函数指针,用回调的方法能够完成许多器械,好比插件架构。这么写C,看起来远不如间接用C+便利。然则C+特征太多,纵然有经验的人也可能堕入过计划中。写法式,着眼点应该是办理营业成绩,依据营业停止思虑。C更像一部手动档,固然有点费事,然则用熟了省油。