Sand Castle 0.001 Release.

Sand Castle 0.001 Release.

什么是Sand Castle?
Sand Castle是一个针对Win32 API的C++类封装库。开发这个C++类封装库的目的是取代MFC,最终目的是让这个库能够在mingw gcc下进行应用程序设计。现在的目的是让这个库在免费的Microsoft Visual C++ Toolkit 2003外加Platform SDK就能进行应用程序开发。也就是说,在这些免费,没有IDE支持下的开发环境中,我的库提供最简单的视窗GUI设计C++类封装库。简单的目的是给用 户最大的空间设计自己想要达到的效果。

为什么要重新发明轮子?
我这么做的主要目的是学习,我到现在还搞不清楚视窗中所有的GUI消息是如何传送,哪一个先,哪一个后,就算买了Charles Fetzold的书,也不一定能完全搞懂一个在视窗下运行的应用 程序是如何接收GUI消息和系统消息。设计这个库就是为了学习这些底层的东西。

我的第二个目的是为了学习如何利用设计纹理(Design Patterns),我曾经在NetObjectives INC.工作了6个月,认识大师级人物Alan Shalloway,和Jim Trott。他们的培训我参加过几次,改变了我对软件设和设计管理的看法。我学到的一个概念就是设计纹理(Design Patterns)。从我所知道的,MFC的CWinApp类就应该是个Singleton,那为什么MFC的CWinApp不设计成个 Singleton?我不知道,但在我的库里,我用的就是Singleton。我希望能最大可能地把设计纹理(Design Patterns)应用于这个库里面,这也是一个学习的过程。我所学习的是,在什么情况下使用什么设计纹理(Design Patterns)。

最后一个我想做到的是,使用测试为先,开发跟进的方式进行开发(TDD),我的库文档将会很少,但是通过我提供的测试案例,用户应该能够理解我在干什么。当然,文档也不能是没有,只是在现在的阶段,现在还没有什么。

使用Sand Castle有什么好处?
对大小公司来说,使用我的库一点好处都没有,大小公司应该使用正规的开发库,比如MFC, .NET, QT,这些库一般需要1500~5000美元左右的执照费,所以他们的文档和支持也是很好的。

我的库是在三天打鱼两天晒网的情况下进行,所以开发很慢,现在只做到了最最简单的设计。对于喜欢探索的人来说,这是一个好的机会来学习视窗底层的知识。

在现在这样的基础上,这个库还不是合任何人使用。这个库的发布只是让其他开源人士知道一套新的GUI开发库正在发展中。

下载地点
现在只能从SVN中提取源码:
svn checkout http://gforge.osdn.net.cn/svn/hybridwin32

 

你可能感兴趣的:(C++,SVN,Microsoft,文档,mfc,程序开发)