浅析MFC8.0的String
微软的mfc8库对字符串进行了新的封装,增强了模板技术,和一些设计模式理念在里面,如果对于这些进行深入的分析,能从里学得一些设计的技术,我想对于我们日常的软件设计乃至于构架设计有较大的帮助吧。我在工作之余,对源代码进行部分解读,由于时间和水平限制,对此进行简单的分析,抛砖引玉,与大家共享下,如果想透彻的理解,还是要亲自去翻代码,进行跟踪调试,发现是创建处理流程。
一、主要类的层次
二、对于字符串类的设计概述
首先是定义了一个全局的对像,CAfxStringMgr afxStringManager;
这个应该是对整个动态库或是程序的字符串内存进行管理的。
从整个的字符串类的处理的设计来看,可以看出,微软的设计字符串时,将数据生存期、同步等放到一个类中处理,数据内存分配放到一类中处理,字符串的处理,放到一个类的处理。
大量采用模板技术,从而保证了对于单字符集及其多字符集的支持。
三、主要类的一些方法
CFiedStringMgr类
CFixedStringT类
CStringData