程序员的十个层次,你属于哪一层?(转)

摘要: 自西方文艺复兴以来,中国在自然科学方面落后西方很多,软件领域也不例外。当然现在中国的许多程序员们对此可能有许多不同的意见,有些人认为中国的程序员水平远落后于西方,有些则认为中国的程序员个人能力并不比西方的程序员差,只是整个软件产业落后而已。 那么,到底中国的程序员水平比西方程序员水平差,还是中国有许 阅读全文
posted @ 2016-05-03 15:47 dongtshj 阅读(425) 评论(0) 推荐(0)

Command模式

摘要: 在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接受者是谁,也不知道被请求的操作是哪个,我们只需在程序运行时指定具体的请求接收者即可,此时,可以使用命令模式来进行设计,使得请求发送者与请求接收者消除彼此之间的耦合,让对象之间的调用关系更加灵活。命令模式可以对发送者和接受者完全解耦,发 阅读全文
posted @ 2016-04-26 15:57 dongtshj 阅读(199) 评论(0) 推荐(0)

Chain of Responsibility模式

摘要: 熟悉VC/MFC的都知道,VC是“基于消息,事件驱动”,消息在VC开发中起着举足轻重的作用。MFC提供了消息的处理的链式处理策略,处理消息的请求将沿着预定好的路径依次进行处理。消息的发送者并不知道该消息最后是由哪个具体的对象处理的,当然它也无需也不想知道,但是结果是该消息被某个对象处理了,或者一直到 阅读全文
posted @ 2016-04-26 15:27 dongtshj 阅读(154) 评论(0) 推荐(0)

Observer模式

摘要: Observer模式应该可以说是应用最多、影响最广的模式之一,因为Observer的一个实例Model/View/Control(MVC)结构在系统开发架构设计中有着很重要的地位和意义,MVC实现了业务逻辑和表示层的解耦。 Observer模式要解决的问题为:建立一个“一”(Subject)对“多” 阅读全文
posted @ 2016-04-26 15:06 dongtshj 阅读(207) 评论(0) 推荐(0)

FSM(有限状态机)

摘要: 游戏引擎是有限状态机最为成功的应用领域之一,由于设计良好的状态机能够被用来取代部分的人工智能算法,因此游戏中的每个角色或者器件都有可能内嵌一个状态机。考虑RPG游戏中城门这样一个简单对象,它具有打开(Opened)、关闭(Closed)、上锁(Locked)、解锁(Unlocked)四种状态,如图所 阅读全文
posted @ 2016-04-21 17:49 dongtshj 阅读(943) 评论(0) 推荐(0)

C++11多线程

摘要: 这篇文章说的很详细: https://www.ibm.com/developerworks/cn/linux/1412_zhupx_thread/ 阅读全文
posted @ 2016-04-20 15:43 dongtshj 阅读(147) 评论(0) 推荐(0)

Collection

摘要: 1、字符串分割函数。比如把形如:“aa:bb:cc”这样的字符串去掉“:”分割成三部分放入str_vec中。(2016/4/19) 阅读全文
posted @ 2016-04-19 14:07 dongtshj 阅读(139) 评论(0) 推荐(0)

C++ Member Functions的各种调用方式

摘要: 【1】Nonstatic Member Functions(非静态成员函数) C++的设计准则之一就是:nonstatic member function至少必须和一般的nonmember function有相同的效率。也就是说,如果我们要在以下两个函数之间作选择: 那么选择member funct 阅读全文
posted @ 2016-04-18 17:34 dongtshj 阅读(848) 评论(0) 推荐(0)

C++类的常成员函数

摘要: 让一个成员函数带上常量性是什么意思呢?通常的答案是,一个常成员函数不会更改其class对象。这是一种平凡的表述,而编译器实现的手法也相当平凡。 任何非静态成员函数其实都被编译器隐式插入了一个指针类型的参数,以在调用时有一种指向class对象自身的途径。在函数内部,关键字this被用于给出该指针的值: 阅读全文
posted @ 2016-04-18 16:43 dongtshj 阅读(367) 评论(0) 推荐(0)

调度器(scheduler)

摘要: 调度器(schedule)为游戏提供定时事件和定时调用服务。 调度器(schedule)的功能和事件监听器(eventlistener)的功能有点类似:都是在特定情况下调用某个事先准备好的回调函数。 不同之处在于:事件监听器需要通过手动触发(Trigger)来调用这个准备好的回调函数,而调度器是需要 阅读全文
posted @ 2016-04-12 15:24 dongtshj 阅读(884) 评论(0) 推荐(0)