编程思想之GUI
要重视一些基本的编程思想,注意是思想,不是思路和技巧。
例如MFC的对话框设计与qt的对话框设计区别和差异,qt的accept reject比较灵活。duilib与qt自绘的实现,dc与qrect qwidget利用基本的类型自绘等。
再比如服务程序的client管理使用stl::map,而底层xml数据于上层界面展示,中间使用友元类分割数据,便于原始数据不被改动。
再如双继承实现,一界面,一数据分离。界面与数据分离。
更如:模板类实现,宏定义实现类的自动化批量定义等。
更如:share_ptr unique_ptr 智能指针在什么情况下使用等。比较重要的一些技术设计思想
编程思想:不考虑大的,如什么时候使用boost.asio 而不是libevent之类问题。而是考虑libevent内部代码类之间的关系,那些设计模式。单例模式,装饰模式 迭代模式等在程序实践中,完美的漂亮代码方案。 而不是每天都是helle,world json ini sqlite 字符串转换等基础无意义问题。而应该深层次考虑如pdfium 内存动态管理,文件动态解析、一种模式解决同一类问题的 具体代码实现方案。
界面运行的自动化,动态化,线程池的实现, 数据库sqlite的连接池支持多线程操作等 具体的技术实现方案。 tcp/ip的进程通信 fork并发执行方案等。但更应该侧重如具体模式、类之间友元调用、多态实现、尤其是完善的多类接口设计。
算法:opencv pcl 图像处理基本算法 能完整实现矩阵 计算 算法能 小部分属于编程思想。
浙公网安备 33010602011771号