• 8297阅读
  • 6回复

[讨论]qt大型桌面應用程序架構組織 [复制链接]

上一主题 下一主题
离线19910223
 

只看楼主 倒序阅读 楼主  发表于: 2015-05-26
最近剛接觸qt,發現對於簡單的應用程序而言,qt的程序開發框架能很好的滿足需求。
但是當道面對大型的應用程序時,簡單的拖控件,寫slot已經無法滿足需求了。
由於有多個模塊,所以需要考慮程序的 “復用性” “移植性” “擴展性” 儘量減少模塊間的耦合度,

一個首要面臨的問題是:
1.由於程序界面的負責度不斷上升,mainwindows里的處理slot響應的代碼行數已經快接近 四五千行 了。
2.同時程序里還用到了tcpsocket,同時各個模塊直接都要要用到,那麼tcpsocket的建立,釋放。該如何設計才能儘量減少模塊間的耦合度。

不知各位大大在開發大型桌面應用程序的時候,如何組織系統架構的。
离线uidab

只看该作者 1楼 发表于: 2015-05-26
分模块啊,这个和用不用Qt没关系,建议学学架构方面的知识。
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线foruok

只看该作者 2楼 发表于: 2015-05-26
要根据功能和耦合度来拆分模块,各个模块间对接口。
我的博客:http://blog.csdn.net/foruok
我的微信订阅号:程序视界
离线19910223

只看该作者 3楼 发表于: 2015-05-26
回 uidab 的帖子
uidab:分模块啊,这个和用不用Qt没关系,建议学学架构方面的知识。
 (2015-05-26 12:57) 

嗯嗯,寫到後面才發現這個問題越來越嚴重了,前期沒做好設計,正在嘗試看些相關的書籍
不知版主有沒有一些推薦
离线19910223

只看该作者 4楼 发表于: 2015-05-26
回 foruok 的帖子
foruok:要根据功能和耦合度来拆分模块,各个模块间对接口。 (2015-05-26 13:37) 

如果分模塊的話,因爲各個模塊都要對主窗口mainwindows進行操作,
我的想法是把mainwindows的句柄作爲參數,來初始化各個模塊
但總覺得不太靠譜,不知這樣答主在遇到這個問題的時候如何處理的
离线stlcours

只看该作者 5楼 发表于: 2015-05-26
把重复的代码写成单独的函数,如果有许多重复顺序的函数调用,就再组织成一个函数。如果这些函数有共同的数据,可组织成一个类。

话说,如果既没有重复的代码,也没有重复的函数调用,那么这5000行代码很可能就是应该写在一起!
离线19910223

只看该作者 6楼 发表于: 2015-05-27
回 stlcours 的帖子
stlcours:把重复的代码写成单独的函数,如果有许多重复顺序的函数调用,就再组织成一个函数。如果这些函数有共同的数据,可组织成一个类。
话说,如果既没有重复的代码,也没有重复的函数调用,那么这5000行代码很可能就是应该写在一起! (2015-05-26 23:24) 

明白了 多谢指点
快速回复
限100 字节
 
上一个 下一个