编程思想之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 图像处理基本算法  能完整实现矩阵 计算 算法能 小部分属于编程思想。

 

posted on 2020-03-03 18:07  lydstory  阅读(266)  评论(0)    收藏  举报

导航