自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (1)
  • 收藏
  • 关注

原创 双缓冲模式

定义缓冲类封装缓冲:一段可改变的状态。缓冲被增量的修改,外部代码将修改视为单一的原子操作。类保存下一个缓冲和当前缓冲。从当前缓冲区读取数据,将数据写入下一个缓冲区,当改变完成后,将当前缓冲区和下一个缓冲区交换。使用场景:1.需要维护一些增量修改的状态2.修改到一半时,状态可能会被外部请求3.防止请求状态的外部代码知道内部的工作方式4.想要读取状态,而且不想等着修改完成

2017-03-20 10:47:25 566

原创 脏标识模式

将工作延期至需要其结果时才去执行,避免不必要的工作。游戏中进行位置变化时,递归调用其所有子对象。调用父节点相关的变换对对象的自身变换进行变化,计算对象的世界变换。如果在游戏中每一帧都进行计算的话,其中有些部分的位置是没有变换的,所有只需计算那些位置发生变换的对象。如果每次变换都立即更新世界变换,那么浪费CPU进行无效的运算。解耦自身变换和世界变换,在一次批处

2017-03-20 09:53:04 1387

原创 对象池

放弃单独地分配和释放对象,从固定的池子中重用对象,以提高性能和内存使用率。在条件比较严苛的环境下,碎片意味这在堆中的空余控件被打碎成了许多小的内存碎片,而不是大的连续内存块,这是致命的。一个简单的方案是在开始时取一大块内存,然后结束时在释放它,但这对游戏运行时创建和销毁事物的系统是痛苦的。定义一个池对象,其初始化时创建一组可重用对象(通常使用一次连续的分配),其中每个可重用对象都支持查

2017-03-16 16:15:04 244

原创 数据局部性

现代CPU有缓存来加速内存读取,它可以更快的读取最近访问过的内存的眦邻内存,通过合理组织数据,提高内存局部性,保证数据以处理顺序排列在连续内存上,充分使用CPU缓存来加速内存读取。数据局部性的第一准则是在遇到性能问题时使用,优化会使使代码更加复杂,更加缺乏灵活性。使用本模式时要确认你的性能问题确实是由缓存不命中引发的,通过工具来找到糟糕的缓存使用。现代软件通过抽象来解耦代码块,抽象几乎

2017-03-16 14:02:48 1253

原创 状态模式

状态模式中的行为由状态来决定,其把对象的行为包装在不同的状态对象里。当一个对象的内在状态改变的时候,其行为也随之改变,这个对象看起来好像是改变了其类。使用场景:一个对象的行为取决于它的状态,运行时根据状态来改变它的行为;代码中包含大量与对象状态有关的条件语句通用UML:优点:将所有与一个特定的状态相关的行为都放入一个状态对象,提供更好的方法来组织与特定状

2017-03-15 11:37:55 144

原创 原型模式

原型模型多用于创建复杂的或者构造耗时的实例,这种情况复制一个已经存在的实例可使程序运行更高效。通过复制构造实例不一定使用场景:类初始化需要消化非常多的资源,通过原型拷贝避免这些消耗;通过new产生一个对象需要非常繁琐的数据准备或访问权限;一个对象需要提供给其他对象访问,而各个调用者可能都需要修改其值,原型模式提供保护性拷贝通用UML:通过clon

2017-03-14 16:53:26 185

原创 观察者模式

观察者模式的重要作用就是解耦,将被观察者和观察者解耦,使得它们之间的依赖性更小,甚至毫无依赖。UI系统需要一套机制来使UI层和具体的业务逻辑解耦,观察者模式这个时候就可以派上用场。观察者模式就是一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。使用场景:关联行为场景,关联行为是可拆分的,而不是组合关系;事件多级触发场景;跨系统的消息交换场景,如消

2017-03-14 15:06:48 328

原创 命令模式

命令模式就是将一系列的方法调用封装,用户只需调用一个方法执行,那么所有这些被封装的方法就会被挨个执行调用,从而进行解耦,从而更具灵活性。将请求封装成对象,用户使用不同的请求把客户端参数化,对请求排队或记录请求日志,以及支持可撤销的操作。需要抽象出待执行的动作,然后以参数的形式提供出来。需要支持取消操作。需要支持事务操作。支持修改日志功能,当系统崩溃时,这些修改可以重做。命令

2017-03-14 14:12:57 232

原创 单例模式

单例模式是应用最广的模式之一。在应用中,对于很耗资源的对象,比如线程池,缓存系统等,没有理由让它构造多个实例,只需要拥有一个全局对象。单例模式保证只有一个实例存在。确保某个类只有一个对象的场景,避免产生多个对象消耗过多资源或一个对象需要消耗的资源过多,比如访问IO和数据库等资源单例模式UML图:单例模式的实现方法有多种,其中有些存在同步或者效率问题,推荐

2017-03-13 15:46:42 211

《机qi学习shi战.pdf》高清中文版PDF+英文版PDF+源代码.zip

用于机器学习入门的资料 跟着源代码学习 一步一步掌握

2019-06-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除