游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2472|回复: 5

新年开篇:针对CGUI库功能强,但使用问题颇多的现象,

[复制链接]

8

主题

35

帖子

35

积分

注册会员

Rank: 2

积分
35
发表于 2009-2-7 23:36:00 | 显示全部楼层 |阅读模式
针对CGUI库功能强,但使用问题颇多的现象,决定重构。

重构总则:
1〉去除冗余部分,精简优化代码。
2〉删除String类,其采用了兼容差的utf变长字符编码。
3〉去除多余组名规范,文件名具备GUID特性。
4〉给底层模块代码解耦,松耦合组织底层,禁止在基层使用全局对象和单体对象。
5〉修补异常处理,其大部分属于错误处理范畴。屏蔽了错误调试,使断言不能精确定位。改为try{}catch(){assert(0);}
6〉规范命名空间,将所有对象放入 namespace DCH{ namespace GUI2D{}}。
7〉删除Script模块
8〉删除动态库载入模块
9〉实现GUIRenderer子类嵌入自家的3D引擎支持
10〉删除Editbox类正则式模块,这也符合类功能单一原则;同时也消除正则式PCRE库隐患。



重构细则:
1〉核心管理模块文件放在根目录。
2〉Image装载采用FreeImage模块。
3〉Utlit模块负责基础结构和功能。
4〉Xml解析采用TinyXML模块,修正缺省字符编码为Unknown(即 ascii)。
5〉图形原点规定在左上角,TopLeftToBottomRight坐标系。
6〉删除工厂别名Alias成员。
7〉调整在System类初始化时注册所有控件及其渲染的工厂类,静态创建注册渲染窗工厂。
8〉修改图形GUIRenderer的Quad_mode为贴图图层混合模式。
9〉删除工厂类遍历器的对外暴露。
10〉对混合中英字符统一为Unicode编码,由FreeTypeFont类处理中文显示。
11〉取消窗体前缀名
12〉修正FalagardComponentBase类,对窗体图形的Alpha运算错误。
13〉删除PCRE库,有字符类缓冲区溢出漏洞,对堆有隐含的不稳定操作。


/////////////////////////////////////////////////////////////////////////////
重构结果:(part source open !)
http://blog.csdn.net/beidoustudio/archive/2009/02/07/3867995.aspx

8

主题

390

帖子

390

积分

中级会员

Rank: 3Rank: 3

积分
390
发表于 2009-2-8 08:58:00 | 显示全部楼层

Re:新年开篇:针对CGUI库功能强,但使用问题颇多的现象,

哇,这下更不敢碰CEGUI了,哈哈,原来这么多毛病

8

主题

35

帖子

35

积分

注册会员

Rank: 2

积分
35
 楼主| 发表于 2009-2-8 23:58:00 | 显示全部楼层

Re: 新年开篇:针对CGUI库功能强,但使用问题颇多的现象

呵呵,CEGUI没有什么问题,只不过给他瘦了身实现静态库,放进项目更安全罢了。

6

主题

47

帖子

49

积分

注册会员

Rank: 2

积分
49
发表于 2009-2-9 11:35:00 | 显示全部楼层

Re:新年开篇:针对CGUI库功能强,但使用问题颇多的现象,

那就重构吧

3

主题

12

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2010-3-10 15:20:00 | 显示全部楼层

Re:新年开篇:针对CGUI库功能强,但使用问题颇多的现象,

CGUI用来开发界面怎么样

36

主题

512

帖子

512

积分

高级会员

Rank: 4

积分
512
发表于 2010-3-10 15:38:00 | 显示全部楼层

Re:新年开篇:针对CGUI库功能强,但使用问题颇多的现象,

这么麻烦,还真不如一开始就自己实现要来得效率.

感觉用框架将程序都变成了工具.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-12 17:46

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表