软件结构与实现课件.pptxVIP

软件结构与实现课件.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

*軟體結構與實現

*7.1窗口系統窗口系統強調為程式員提供硬體設備獨立性,交互系統的實現建立在一個抽象的設備上,對抽象設備的操作通過設備驅動程式轉換成具體的設備上的操作,這可以使交互系統的開發變得簡單,也使交互系統的移植非常方便。

*7.1窗口系統窗口系統為單一輸入輸出設備建立多個抽象設備來實現其資源的共用。每個抽象設備都可看作一個窗口的獨立的輸入輸出設備,窗口系統為這些設備提供併發控制。從應用的角度看,每個應用程式獨立地對設備進行操作,另一方面,窗口系統還為每個窗口提供一個抽象顯示設備,這可以通過為每個活動的抽象顯示設備建立一個窗口來實現。設備獨立性和多任務管理是窗口系統的最重要的兩個特性。

*7.1.1窗口系統結構窗口系統一般有三種結構:在各個應用程式內部實現和管理多任務,由於每個應用程式都需要處理複雜的多任務管理,並且移植起來不方便。在操作系統核心集中處理多任務管理,應用程式不再對多任務進行管理,由於過分的依賴操作系統,應用程式需要處理因操作系統的不同而引起的差異。多任務的管理可由獨立的管理程式進行管理,應用程式通過調用該管理程式提供的介面來實現對多任務的管理和設備的獨立性操作,該管理程式可以在不同的操作系統下運行,因而基於此管理程式開發的交互系統是最容易移植的。

*一種客戶/伺服器結構客戶應用程式客戶應用程式客戶應用程式﹒﹒﹒客戶抽象終端抽象終端﹒﹒﹒抽象終端資源管理器設備驅動程式伺服器設備滑鼠窗口1窗口2窗口n鍵盤圖7-1客戶/伺服器結構

*伺服器端運行的三部分程式資源管理器是整個窗口系統的核心,負責多任務的管理,並通過設備驅動程式來管理外部設備。設備驅動程式負責外部設備的驅動,接受輸入設備的輸入,並將輸入數據轉換成統一的格式,通過設備驅動程式實現設備的獨立性。抽象終端負責和客戶應用程式的介面,對每個應用程式由窗口管理程式為其分配一個抽象終端。

*工作方式當外部設備產生一個輸入請求,如滑鼠單擊某一個窗口內的一點,資源管理程式從設備驅動程式獲得滑鼠數據,產生滑鼠驅動事件,並將該事件分發給與該窗口相對應的抽象終端,與抽象終端相對應的應用程式接受事件並進行相應的處理。實現時,客戶程式和服務器程式可以在一臺機器上,也可以分佈在不同的機器上。

*7.1.2設計交互應用程式在客戶/伺服器結構中,交互系統的應用程式通過調用伺服器端一個獨立的管理程式來管理多任務和提供設備的獨立性,相當於客戶-伺服器中結構中的客戶。交互應用一般來講是由用戶驅動的,即用戶從外部設備上輸入數據,應用程式的動作由用戶輸入來決定,應用程式可以採用下麵的兩種控制流程實現用戶的交互。

*1.應用程式內部事件處理迴圈設備客戶應用程式開始讀輸入過程輸入退出?結束伺服器圖7-2事件處理迴圈

*事件處理迴圈的程式代碼while(1){ read_event(myevent); switch(myevent.type){ casetype_1: do_type1_process();/*處理對應事件1的動作*/ break;casetype_2: do_type2_process(); break; …casetype_n: do_typen_process(); break; }}

*2.事件註冊方式窗口系統為每一個應用程式建立一個事件處理中心,事件處理中心負責事件的處理。應用程式將自己感興趣的事件處理事先通過登記註冊的方式通知事件處理中心,註冊時同時告訴事件處理中心當事件產生時,應用程式需要進行的處理(回應過程)。 當事件處理中心從窗口系統接收一個事件,分析這個事件屬於哪個應用程式,然後把事件和控制轉向該事件註冊的回應過程,處理完後,回應過程把控制返還給事件處理中心,事件中心繼續接收事件或者請求終止。

*應用程式開始啟動通知者處理事件讀輸入請求回應退出?是否通知者圖7-3事件註冊方式處理流程圖發送給正確的回調函數向通知者註冊回調函數結束

*2.事件註冊方式這種方式的好處是一般應用程式不需要設計事件處理迴圈,只關心應用程式需要處理哪些交互事件,當事件發生時應用程式如何處理。當應用程式不需要處理某個事件時,應用程式還可以隨時取消註冊。因為只處理註冊的事件,事件處理中心處理事件的效率相對比較高。Java語言中圖形介面的交互就是採用的這種事件註冊方式,下麵的程式清單7-2說明了應用程式如何通知註冊事件,事件處理中心通過什麼方式調用應用程式的回調函數。

*程式清單7-2quit.javaimportjava.awt.*;importjava.awt.event.*;classQuitextendsFrameimplementsActionListener{Butt

文档评论(0)

子不语 + 关注
官方认证
服务提供商

平安喜乐网络服务,专业制作各类课件,总结,范文等文档,在能力范围内尽量做到有求必应,感谢

认证主体菏泽喜乐网络科技有限公司
IP属地未知
统一社会信用代码/组织机构代码
91371726MA7HJ4DL48

1亿VIP精品文档

相关文档