第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

請(qǐng)問(wèn)qt可以實(shí)現(xiàn)界面和邏輯代碼分離嗎?

請(qǐng)問(wèn)qt可以實(shí)現(xiàn)界面和邏輯代碼分離嗎?

www說(shuō) 2019-06-24 14:15:07
qt可以實(shí)現(xiàn)界面和邏輯代碼分離嗎
查看完整描述

4 回答

?
慕神8447489

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊

想用python+qt的話那就不用說(shuō)了,pyqt或者pyside都可以,當(dāng)然了用pyqt的話要注意版權(quán)問(wèn)題,實(shí)現(xiàn)界面邏輯分離的話可以用model/view結(jié)構(gòu)來(lái)實(shí)現(xiàn),這是qt自帶的一種方式.opengl我沒(méi)有做過(guò),范例的話可以參考qt自帶的示例,雖然是c++寫(xiě)的但是思路都是一樣的

查看完整回答
反對(duì) 回復(fù) 2019-06-29
?
斯蒂芬大帝

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊

MVC英文即Model-View-Controller,即把一個(gè)應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進(jìn)行分離,這樣一個(gè)應(yīng)用被分成三個(gè)層——模型層、視圖層、控制層。
視圖

  視圖(View)代表用戶(hù)交互界面,對(duì)于Web應(yīng)用來(lái)說(shuō),可以概括為HTML界面,但有可能為XHTML、XML和Applet。隨著應(yīng)用的復(fù)雜性和規(guī)模性,界面的處理也變得具有挑戰(zhàn)性。一個(gè)應(yīng)用可能有很多不同的視圖,MVC設(shè)計(jì)模式對(duì)于視圖的處理僅限于視圖上數(shù)據(jù)的采集和處理,以及用戶(hù)的請(qǐng)求,而不包括在視圖上的業(yè)務(wù)流程的處理。業(yè)務(wù)流程的處理交予模型(Model)處理。比如一個(gè)訂單的視圖只接受來(lái)自模型的數(shù)據(jù)并顯示給用戶(hù),以及將用戶(hù)界面的輸入數(shù)據(jù)和請(qǐng)求傳遞給控制和模型。

模型

  模型(Model):就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的處理過(guò)程對(duì)其它層來(lái)說(shuō)是黑箱操作,模型接受視圖請(qǐng)求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務(wù)模型的設(shè)計(jì)可以說(shuō)是MVC最主要的核心。目前流行的EJB模型就是一個(gè)典型的應(yīng)用例子,它從應(yīng)用技術(shù)實(shí)現(xiàn)的角度對(duì)模型做了進(jìn)一步的劃分,以便充分利用現(xiàn)有的組件,但它不能作為應(yīng)用設(shè)計(jì)模型的框架。它僅僅告訴你按這種模型設(shè)計(jì)就可以利用某些技術(shù)組件,從而減少了技術(shù)上的困難。對(duì)一個(gè)開(kāi)發(fā)者來(lái)說(shuō),就可以專(zhuān)注于業(yè)務(wù)模型的設(shè)計(jì)。MVC設(shè)計(jì)模式告訴我們,把應(yīng)用的模型按一定的規(guī)則抽取出來(lái),抽取的層次很重要,這也是判斷開(kāi)發(fā)人員是否優(yōu)秀的設(shè)計(jì)依據(jù)。抽象與具體不能隔得太遠(yuǎn),也不能太近。MVC并沒(méi)有提供模型的設(shè)計(jì)方法,而只告訴你應(yīng)該組織管理這些模型,以便于模型的重構(gòu)和提高重用性。我們可以用對(duì)象編程來(lái)做比喻,MVC定義了一個(gè)頂級(jí)類(lèi),告訴它的子類(lèi)你只能做這些,但沒(méi)法限制你能做這些。這點(diǎn)對(duì)編程的開(kāi)發(fā)人員非常重要。
業(yè)務(wù)模型還有一個(gè)很重要的模型那就是數(shù)據(jù)模型。數(shù)據(jù)模型主要指實(shí)體對(duì)象的數(shù)據(jù) 保存(持續(xù)化)。比如將一張訂單保存到數(shù)據(jù)庫(kù),從數(shù)據(jù)庫(kù)獲取訂單。我們可以將這個(gè)模型單獨(dú)列出,所有有關(guān)數(shù)據(jù)庫(kù)的操作只限制在該模型中。

控制

  控制(Controller)可以理解為從用戶(hù)接收請(qǐng)求, 將模型與視圖匹配在一起,共同完成用戶(hù)的請(qǐng)求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是一個(gè)分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶(hù)請(qǐng)求??刂茖硬⒉蛔鋈魏蔚臄?shù)據(jù)處理。例如,用戶(hù)點(diǎn)擊一個(gè)連接,控制層接受請(qǐng)求后, 并不處理業(yè)務(wù)信息,它只把用戶(hù)的信息傳遞給模型,告訴模型做什么,選擇符合要求的視圖返回給用戶(hù)。因此,一個(gè)模型可能對(duì)應(yīng)多個(gè)視圖,一個(gè)視圖可能對(duì)應(yīng)多個(gè)模型。
模型、視圖與控制器的分離,使得一個(gè)模型可以具有多個(gè)顯示視圖。如果用戶(hù)通過(guò)某個(gè)視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴(lài)于這些數(shù)據(jù)的視圖都應(yīng)反映到這些變化。因此,無(wú)論何時(shí)發(fā)生了何種數(shù)據(jù)變化,控制器都會(huì)將變化通知所有的視圖,導(dǎo)致顯示的更新。

 


查看完整回答
反對(duì) 回復(fù) 2019-06-29
?
慕田峪4524236

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超5個(gè)贊

通過(guò)manager回調(diào)把網(wǎng)絡(luò)請(qǐng)求的結(jié)果回調(diào)給controller,在manager里面處理其他業(yè)務(wù)邏輯,數(shù)據(jù)持久化之類(lèi)的,也可以根據(jù)網(wǎng)絡(luò)請(qǐng)求到的數(shù)據(jù)來(lái)做業(yè)務(wù)邏輯處理。這樣controller就不用再去關(guān)心業(yè)務(wù)邏輯,只需要拿到數(shù)據(jù)刷界面就行了。

查看完整回答
反對(duì) 回復(fù) 2019-06-29
?
肥皂起泡泡

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊

這個(gè)是通過(guò)三層結(jié)構(gòu)來(lái)實(shí)現(xiàn)的。
第一層:controller,本層主要負(fù)責(zé)頁(yè)面信息傳遞;
第二層:service,本層主要接收控制層參數(shù),進(jìn)行業(yè)務(wù)方面的處理,之后訪問(wèn)dao數(shù)據(jù)層。
第三層:dao,本層主要接收業(yè)務(wù)層內(nèi)容,之后進(jìn)行數(shù)據(jù)的存儲(chǔ)和變更、刪除操作。
這樣就可以實(shí)現(xiàn)業(yè)務(wù)層和數(shù)據(jù)層的分離了。

查看完整回答
反對(duì) 回復(fù) 2019-06-29
  • 4 回答
  • 0 關(guān)注
  • 1379 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)