今天在公司商店里看到一本<<深入解析ATL>>, 感觉比多年以前看的那本要厚很多, 仔细一看, 赖仪灵译, 名字很熟悉, 一想原来是CSDN VC版的大版主.本人一向潜水, 对各位高手还是有些印象的. 因此虽然大家不认识我, 也还是要散分祝贺一下.相信这是赖版事业上的一件大事.ATL本身并不算新, 但它内含的C++思想却是非常不错的. 有些程序员只专注于VC, 甚至是MFC, 专注于怎么去调用WINDOWS提供的WIN 32 API, 这很不好, 很难成为高手. 在这里顺便奉劝VC/MFC迷们, 其实基础是C++语言, 高层的是设计的模式, 再往上走就是软件工程.
------------
是啊!现在很多人会在对话框上拉几个漂亮的控件就叫会软件了。
其实本人以前主用Borland C++,进入Windows之后用看似方便VB,但编起软件项目很难建立对象逻辑(客户管理逻辑实现、多变的后续改变),后来实顶不顺又回到面向对象的VC++。在看深入浅出MFC时,最关注的倒是如何在项目中“ 内含的C++(面向对象)思想”。明眼人也应该看得出来MFC核心亮点视图-文档结构也不是拉什么漂亮的控件,或封装WinAPI这样的层次,虽然本人不太赞同MFC对项目的面向对象解决方案。
P187class CComSingleThreadModel
{
public:
static ULONG WINAPI Increment(LPLONG p) throw() {return ++(*p);}
static ULONG WINAPI Decrement(LPLONG p) throw() {return (*p);}//漏掉--,{return --(*p);}
typedef CComFakeCriticalSection AutoCriticalSection;
typedef CComFakeCriticalSection AutoDeleteCriticalSection;
typedef CComFakeCriticalSection CriticalSection;
typedef CComSingleThreadModel ThreadModelNoCS;
};