![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
软件
LandscapeMi
这个作者很懒,什么都没留下…
展开
-
代码规范_1:代码的可读性
代码易于理解可读性表面层次名字:装入信息大小写,下划线审美代码看上去一致列对齐审美按块组织代码分成段落分格一致// 代码组成段落class FrontendServer{ public: FrontendServer(); ~FrontendServer(); //Handlers void ViewProfile原创 2016-03-20 23:27:53 · 889 阅读 · 0 评论 -
图形学优化_3: 观察者模式和模板方法模式
定义对象间的依赖关系,当一个对象的状态发生变化时,所有依赖他的对象都得到通知OGRE的各种消息:更新,键盘,鼠标消息的发布:责任链关系定义一个算法的骨架,而将一些步骤延迟到子类中。模板子类可以不改变一个算法的结构就可以重新定义该算法的某些特定的步骤。原创 2015-12-21 20:38:17 · 349 阅读 · 0 评论 -
图形学优化_3: bridge(桥接模式)和proxy(代理)
抽象部分与实现部分分离实现跨平台、文件版本演化proxysmart_reference智能指针(带计数)原创 2015-12-21 20:21:13 · 913 阅读 · 1 评论 -
图形学优化_3: ogre设计模式_adpter模式(适配器模式)
OGRE中使得,原本不兼容的接口一起工作例如:文件系统zip对象适配器:一个类只有一个父类原创 2015-12-21 20:05:36 · 282 阅读 · 0 评论 -
图形学优化_3: ogre设计模式_Factory Method (工厂方法模式)
对于扩展是开放的,对于修改是封闭的简单工厂模式工厂方法模式工厂方法模式将简单工厂模式的内部逻辑判断,移动到了客户端。抽象工厂模式原创 2015-12-21 19:49:32 · 439 阅读 · 0 评论 -
图形学优化_3: ogre设计模式_Singleton(单例模式)
http://blog.csdn.net/wuzhekai1985/article/details/6665869由于构造函数是私有的,因此无法通过构造函数实例化,唯一的方法就是通过调用静态函数GetInstance//Singleton.h class Singleton { public: static Singleton* GetInstance(); pr原创 2015-12-21 18:21:42 · 661 阅读 · 0 评论 -
图形学优化_2: openthread
openthread跨平台thread类:线程的实现类Mutex类:互斥体接口类Condition类:条件变量接口类主线程:(互斥操作)operation 线程:反馈力的计算graphics 线程: 仿真渲染模块化设计,管线化流程原创 2015-12-21 14:24:51 · 453 阅读 · 0 评论 -
图形学优化_1: pthread
转自:http://blog.csdn.net/phunxm/article/details/5812836线程的基本概念线程是进程的一个独立控制流线程:程序计数器,一组寄存器,栈,线程信号掩码,局部线程变量,线程私有数据原创 2015-12-21 11:41:53 · 404 阅读 · 0 评论 -
代码原则:c/c++
头文件# include<iostream># include“stdlib.h” //exitusing namespace std;# define TRUE 1# define FALSE 0# define ERROR 0# define OK 0assertassert// 初始参数是否在有效范围内参数超出范围// 不在范围内if(i<1||i>L.length)re原创 2016-03-24 00:04:54 · 256 阅读 · 0 评论 -
代码规范_4:c++ _模板
函数模板基础template typename T>T Add(T t1,T t2){ return t1+t2;}template typename T1, typename T2>T1 Add(T1 t1,T2 t2){ return t1+t2;}int main(int argc, char *argv[]){ cout1,3) <<endl;原创 2016-03-23 15:44:26 · 455 阅读 · 0 评论 -
代码规范_5:c++ _代码规范
头文件# include# include“stdlib.h” //exitusing namespace std;# define TRUE 1# define FALSE 0# define ERROR 0# define OK 0assert// 初始参数是否在有效范围内错误代码//存储分配失败malloc/free if(!L.elem原创 2016-03-23 21:22:50 · 271 阅读 · 0 评论 -
代码规范_3:c++ _异常
http://www.cnblogs.com/nzbbody/p/3418989.html指针和动态分配导致的内存回收问题:在C++中,不会自动回收动态分配的内存,如果遇到异常就需要考虑是否正确的回收了内存。捕获异常抛出异常用throw,捕获用try……catch。//throw造成程序执行过程中从oz()函数返回时,对象rb的析构函数调用#include usin原创 2016-03-22 22:59:20 · 240 阅读 · 0 评论 -
代码规范_2:防御编码_c/c++
子程序引入中间、易懂的抽象避免代码的重复子类化隐藏顺序(合并需要顺序的操作)隐藏指针的操作提高可移植性子程序长度:50~150子程序的参数输入,修改,输出的顺序子程序的个数在7个之内防御性编程非法数据的破坏外部数据值子程序输入参数值如何处理错误断言assert用来捕捉的是程序员自己的错误。永远不应该发生的错误ex原创 2016-03-22 21:15:03 · 487 阅读 · 0 评论 -
图形学优化_3: 责任链模式和迭代器模式
对象行为模式,把请求以链的形式传递给对象 迭代器模式包装了iterator也可以看做adapter模式顺序访问一个聚合对象中各元素的方法原创 2015-12-21 20:28:41 · 557 阅读 · 0 评论