1.网络模块(比如libcurl)
2.日志模块(比如glog或直接使用OutputDebugString使用debugview查看)
3.数据库模块(比如sqlite,有些用ini配置文件就可以满足要求)
4.UI库(directUI里面的soui,duilib以及mfc,qt等等)
5.线程库(可以方便的处理异步任务,比如libstpool)
6.字符串的转换
7.C++ 11 特性的委托机制 lambda和function
8.模块管理工具
9.其他的工具库,文件处理,json解析,aes,md5,openssl,zip等等
10.异常捕获模块,生成dump文件用于定位问题
11.各个业务模块,尽量的少耦合,一般采用观察者模式或者说mvc架构
12.多进程架构的客户端还需要跨进程通信模块,最好共享内存消息队列。