设计
文章平均质量分 79
xuexuankr
QQ:25887708
欢迎交流
展开
-
命令式redo/undo和键盘行为
几个星期前在看前辈的redo/undo总结,这次终于可以自己试试这个命令式redo/undo的写法了。命令式redo/undo主要有三个部分;1,ICommand;(命令作用的对象,excute,undo,redo,还有一些Undo,redo参数变量)2,commandStack;(存储命令的栈,undo和redo都在这栈里面上下走)3,通道,也可以说是触发器,把命令放进comma原创 2009-12-19 09:25:00 · 734 阅读 · 0 评论 -
并行的思想设计模块
<br /> 最近遇到一两个问题,包括以前遇到的未得到完美解答的问题,有的从前辈的代码中领悟,有的从前辈的直接指导中得到解答。<br /> 例如,去年跟着一位前辈做一个工程,而工程中,前辈已对每个模块划分概念,例如,只作为元素的容器,或者作为元素的行为的。但是在实现过程中,发现从程序流程出发,而非从概念出发,只要往容器类内加一个index或者行为变量,那么整个流程会很顺畅,而无需去绕路。但是这个做法被前辈否定,而答案却只是从坚决顺从设计概念出发,没有一些需求上的情况举例,所以回答上并原创 2010-07-03 17:31:00 · 217 阅读 · 0 评论 -
字体文件格式分析——底层数据流处理
最近分析字体文件格式,是时候搭个稍微过得去的框架来整理一下代码。主要处理几个需求:1,跨平台。2,只分析TrueType格式3,解析几个表:cmap(编码,图元索引映射),glyf(仅取数据),os/2表。绘制图元指令有时候就再看看。初步的设计:1,用户管理几个主要的数据Memory, Face。2,最底层是system,封装一些与平台相关的api;倒数第二层是stream,主要封装一些对数据流的操作,同级的是数据层,真正有意义的数据,存储关于字体相关的信息,以及数据流,都是由用户来管理。最上层是对各个表的原创 2011-02-06 16:31:00 · 617 阅读 · 0 评论 -
字体文件格式_分析freetype开源库
<br /> 做个简单的总结,最近缺少激情和动力。做事要顺其自然,顺势而发,做必要的,干这些也如此。先总结freetype的框架然后就是truetype的一些数据。========================================感觉这些东西都需要慢慢一步步的积累,一下子的话走不远。<br /><br />先总结freetype的框架吧。freetype用C实现面向对象,简单的分析后,觉得整个库做得简单,实用,没有太多累赘,顺其自然,没有太多刻意的封装,累赘的接口调用,用起来方便,看起来舒心!原创 2011-02-08 18:18:00 · 1330 阅读 · 0 评论 -
FreeList内存管理初步尝试
<br />上次分析字体文件的时候,就考虑了要做个内存管理,读取文件时候的不断malloc,确实给效率带来极大的影响。这次初步尝试了freelist内存管理的设计,意识到了内存管理在整个数据结构设计中的作用。跟以前对比的话,以前设计数据结构只考虑其节点访问复杂度,而这次从整个系统耗时复杂度角度出发。<br /> <br />设计数据结构应该考虑三个方面,对象的创建和释放,对象的访问耗时,对象存储空间。<br /> <br />内存管理的本质是减少malloc,free次数。<br /> <br />所以从另原创 2011-03-06 22:07:00 · 483 阅读 · 0 评论