Qt学习笔记,Qt程序架构设计要旨
Qt学习笔记,Qt程序架构设计要旨
时间过得很快,转眼学习Qt已经有一个多月了,对Qt的学习也在不断的深入中。自己手下的code也很多了,不过不得不说,还有很多的部分没有接触过,比如网络编程,2D,3D等等,但这些会在接下来的工作里不断的接触和深入。现在学习Qt的心得就是:不要以为自己可以coding,就是对Qt的掌握!这个是严重错误的看法,现在会写出code了也只能说你入门了。对于Qt的学习需要不断坚持不断实践。而要说真正的掌握Qt,那么对于Qt的核心那是必须要掌握的!那么什么才是Qt的核心呢?这一个多月的了解,不得不说Qt的Model/View 机制,就是Qt的核心所在。
当然,Qt本身为我们提供的可以使用的Model很多了,View也有很多。但是,事实就是不尽如意,也就是说Qt提供的不一定就一定可以满足我们的实际需求的,所以更多的是在Qt库提供本质的基础之上我们的再造。
所谓再造就是在已有的系统库的基础上加入我们自己的部分。其实,Model就是一个数据的加工厂,对于来自外界的数据进行加工,加工之后的数据利于我们与使用这个model的view的包装。但是,难点就是在于这个Model中自己定义实现的数据加工部分,也正因为这对Qt的Model/View 学习添加了很大的难度。
其实在做Qt程序过程中应该考虑很多的,这与常规的软件开发没有任何特别之处,我这里大致罗列一下:
1、我们是做软件的,那么对软件的执行效率这个是必要考虑的,对于用户的不同(用户的软件工作环境),我们要考虑到很多的软件执行效率的限制条件。
2、在软件编码中,在考虑软件的执行效率的基础之上,我们在实际编码中应该如何做。
3、对于开发的软件,要考虑到后天的维护和系统的升级
正式,设计模式中的:软件的移植,软件的扩展,软件的复用
下面在说说对于上面给出的没一点的个人看法:
对于1和2:记得初中学政治的时候,说道——环境,谁污染,谁治理。对了系统资源(硬件,软件)也是如此,对于硬件资源,与效率相关的那就是内存了,软件那就是我们开发的软件与操作系统的协作关系了。在软件开发编码过程中一定要牢记,向系统申请的资源一定要按时归还。对于有众多模块的程序,比如有很多的窗体,我们在其中的一个窗体模块中只需要获取她的数据,其他都不需要,那么我们就可以在某一个需要此模块的地方申请一定资源用于这个模块,并将她的数据取出,用完了再将她使用的资源释放掉。
(此文部分已部分作者本义,因为原始版本不小心操作以及丢失,部分内容不完整,但是作者心意,若新得,必分享)