不要重复造轮子!一遍一遍我们说着这样的话。可是为什么C/C++的API那么难用(尤其windows下的)。每次我们都把时间浪费在了实现简单逻辑而不是实现领域模型上了,其实,我们根本没有足够好的轮子。抛砖引玉,一个在windows下文件及文件夹操作的封装。 C++没有理由不能像python一样易用,至少某些库可以更洁一些。
common.h:
file.h
file.cpp
folder.h
folder.cpp
写的一个通用的库,其中getRelativePath还未实现,觉得暂时只能实现同一盘符下的相对路径,还没找到统一的方法。
其它的都是很常见的操作,删除啊,复制啊很方便,要在复制过程中显示进度条也很容易。
最后还有个IOException.h
还有什么是你能做的?我觉得下面几个都是突破口:
1. Unit test, regexp: 这两个一个可以用cppunit,一个可以用boost库,都不错,真的不需要造轮子了。
2. Http Related, SMTP Related(attach files) FTP:http可以做的事还很多,能轻易地用http模拟表单提交吗?能提交文件表单吗?支持SSL吗?如果不行,这些应该是网络库必须的啊(可以试着对curllib做一个封装),smtp和ftp应该都有类似的方向。
3. Process Related(Module Related):进程间共享数据,windows API参数多,维护起来麻烦,想想我们要干什么:找到叫某名字的共享空间,向其中写入或读出数据,有锁来保证读写,仅这些而已。 如果做的比较好,是不是连序列化也要一起做?这个要好好想想了。
4. Thread Related:线程池,简单创建线程,这些都有文章可做
5. OS version:有了vista之后,windows就更乱了,不同版本下的行为差得多,所以,要注意了。
6. xml parser: 必须的。
嗯,实现这些类库代码并不多,因为大多数都是对库或系统api的封装。但是,一旦有了这些轮子,你就可以全心全力的关注你的业务逻辑,领域模型了。