- 博客(21)
- 收藏
- 关注
转载 设计模式之状态模式
1. 状态模式:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。状态模式主要解决的是,当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化。
2017-07-31 16:51:46 178
转载 设计模式之抽象工厂模式
抽象工厂模式是工厂方法模式的升级版本,用来创建一组相关或者相互依赖的对象。他与工厂方法模式的区别就在于,工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则是针对的多个产品等级结构。在编程中,通常一个产品结构,表现为一个接口或者抽象类,也就是说,工厂方法模式提供的所有产品都是衍生自同一个接口或抽象类,而抽象工厂模式所提供的产品则是衍生自不同的接口或抽象类。在抽象工厂模式中,有一个产品族的概念:所谓的产品族,是指位于不同产品等级结构中功能相关联的产品组成的家族。抽象工厂模式所提供的一系列产品就组成一个产品
2017-07-27 19:39:53 158
转载 设计模式之观察者模式
观察者模式注:1. 观察者模式: 又叫---发布---订阅模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生改变时,会通知所有观察者对象,使得它们能够自动更新自己。
2017-07-27 11:24:34 150
转载 设计模式之建造者模式
建造者模式通常包括下面几个角色:builder:给出一个抽象接口,以规范产品对象的各个组成成分的建造。这个接口规定要实现复杂对象的哪些部分的创建,并不涉及具体的对象部件的创建。ConcreteBuilder:实现Builder接口,针对不同的商业逻辑,具体化复杂对象的各部分的创建。 在建造过程完成后,提供产品的实例。Director:调用具体建造者来创建复杂对象的各个部分,在指导者中不涉及具体产品的信息,只负责保证对象各部分完整创建或按某种顺序创建。Product:要创建的复杂对象。
2017-07-26 22:32:31 188
转载 设计模式之-外观模式
设计模式之--外观模式1. 外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个外观接口,这个接口使得这一子系统更加容易使用。
2017-07-26 11:39:26 133
转载 设计模式之模板方法模式
模板方法模式注:开始写出的最简单的类的代码中,找到类似的代码,进行泛化,从而抽象为接口类。如果用了继承,并肯定这个继承有意义,就应该要成为子类的模板,所有重复的代码都应该要上升到父类去,而不是让每个子类都去重复。 1. 模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
2017-07-25 17:06:59 153
转载 设计模式之工厂方法模式
简单工厂模式最大的优点在于,工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。比如计算器,客户端不用管该用哪个类的实例,只需要吧“+”给工厂,工厂自动给出相应实例,客户端只要做运算就可以了。工厂方法模式,定义一个用于创建对象的接口,让子类决定实例化哪一个类。
2017-07-25 11:02:43 147
转载 设计模式之单一职责原则&开放-封闭原则
1. 单一职责定义:就一个类而言,应该仅有一个引起它变化的原因。通俗的说,即一个类只负责一项职责。1. 开放-封闭原则定义:软件实体(类、模块、函数等)可以扩展,不可修改。对于扩展是开放的,对于更改是封闭的。
2017-07-23 22:04:05 317
转载 设计模式之策略模式
1. 策略模式:面对算法时常改动时定义一系列的算法家族,把每一个算法分别封装起来, 并且使它们可相互替换。本模式使得算法的变化,不会影响到使用算法的客户,且不需要修改策略类。
2017-07-23 20:37:22 196
转载 设计模式之简单工厂模式
简单工厂模式 简单工厂模式解决的问题是如何去实例化一个合适的对象。简单工厂模式的核心思想就是:有一个专门的类来负责创建实例的过程。
2017-07-23 11:10:30 147
原创 OpenGL-渲染光照球体
3.光照注意:a. OpenGL至少会支持8个光源,即GL_LIGHT0到GL_LIGHT7。但是开启过多的光源会导致程序运行速度下降。b. GL_AMBIENT、GL_DIFFUSE、GL_SPECULAR这三种属性是光源和材质所共有的,如果某光源发出的光线照射到某材质的表面,则最终的漫反射强度由两个GL_DIFFUSE属 性共同决定,最终的镜面反射强度由两个GL_SPECULAR属性共同决定。
2017-07-22 13:11:41 5644
原创 OpenGL-雾Fog-实例
2.雾2.1 glEnable(GL_FOG);//启用雾效果2.2 glFog*()函数,设置用于控制雾浓度的方程式;2.3 glHint(target,mod);· GL_FOG_HINT值,指定雾化计算的精度;
2017-07-21 22:00:03 1523
原创 OpenGL-纹理读取BMP图片-代码
使用两种方法读取bmp图片,来作为OpenGL纹理。1.通过对bmp格式的了解,http://blog.csdn.net/o_sun_o/article/details/8351037(详细解析bmp格式的博客),读取其中有用的信息(图像宽度、图像高度、图像数据等)。2.2.利用已有的函数auxDIBImageLoad()读取bmp文件。
2017-07-21 10:52:32 5863 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人