999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

軟件設計模式分析

2020-02-29 10:39:57溫立輝
科技創新與應用 2020年7期

摘? 要:針對問題場景中如何選擇與之相匹配的模式方案,討論了軟件工程中的模式思想,同時分析了特定場合中如何尋找、套用合適的問題解決方案,最后深入闡述幾種常用模式方案的原理以及語法結構。

關鍵詞:設計模型;思想復用;門面;適配器;模板方法

中圖分類號:TP311 文獻標志碼:A? ? ? ? ?文章編號:2095-2945(2020)07-0092-02

Abstract: Aiming at how to choose the matching pattern scheme in the problem scenario, this paper discusses the pattern idea in software engineering, and analyzes how to find and apply the appropriate problem solution in a specific situation. Finally, the principles and grammatical structures of several commonly used pattern schemes are described in detail.

Keywords: design model; thought reuse; facade; adapter; template method

1 概述

模式方案也稱之為設計模式,是編程界的重要基石,其本質上是一套問題的解決方案,體現了思想級別的成果復用,在軟件開發生命周期不斷縮短,軟件產品通過用性、擴展性、復用性要求越來越高的今天,其日益受到人們的重視。

2 軟件設計模式的類型

設計模式最早是在1990年由Erich Gamma等程序員提出,靈感源自從建筑設計領域,進而引入到軟件工程開發中來。在傳統的編程領域,模式方案眾多,多達二三十套,每一種都包含特定的思想與智慧,使復雜的場景簡單化。以下對幾種常用的設計模式作深入全面的分析。

2.1 門面模式(Facade)

門面模式也叫層面模式,是指不同的模塊或系統間進行交互時,通過代理接口的形式進行,而不是直接交互。門面模式使得系統間通信變得標準、統一,極大地降低了系統的耦合,非常有利系統的移植、擴充、維護、復用等。

門面模式的提出是為了解決系統對外通過過程中,耦合性過高的問題。考慮這樣一個問題,有兩個開發小組:WEB前端開發小組、應用系統后臺開發小組,每個小組有十個程序員,若兩個小組的交互采用組員直接通信,兩個組間將會產生100種交互方式,非常不利于對項目經理(PM)對兩個開發小組的管理。如果在兩個開發小組之間各指定某個人作為組長,兩小組之間的通信通過組長來做門面進行交互,那么兩個小組間只有一種交互方式,就能極大的降低了PM對項目組管理的難度。

門面模式結構如圖1所示,在一個商店模塊中有Drink(飲料)、Food(食品)、Toy(玩具)等商品,同時有一個Saleman(店員)類作為商店模塊的門面,當外部的Customer(顧客)類要購買商店中商品時,則通過店員門面類提供的sale方法,來統一操作相關業務行為,顧客類不能直接操作商店模塊中的所有組件(類)。

2.2 適配器模式(Adapter)

適配器模式是指形式不兼容的組件通過中間類的整合,使其能為第三方接口服務。適配器模式的提出是為了解決程序設計過程中接口不兼容問題,提升模塊的協作效應,同時增強了軟件的復用能力。

適配器模式如何讓不兼容接口間一起協同工作呢?考慮這樣的一個場景,來自A國家的商人要尋購買某種商品,來自B國家的商人則要出售該種商品,但兩個商人因為語言之間的障礙無法溝通,生意無法達成;這時引入一個第三方翻譯作為溝通的中介,在這個翻譯的幫助下,最終達成交易,那么這個中介翻譯的作用一個語言的適配器角色適配器模式的組成結構如圖2所示,有一個手機(Mobile)類使用的是電池直流電源供電,現在有一個家用電源(Home_Power)只能提供交流電源,Mobile類與Home_Power類不兼容,不能直接協協同工作,現在通過電源配置器類(Electricity_Adapter)的轉換來使他們能夠工作起來(交流電轉換為直流電)。首先,Electricity_Adapter繼承了Mobile類并覆蓋unchange_electricity方法,并在此方法中調用Home_Power類的change_electricity方法,因而Electricity_Adapter就成了兩者間的轉換類,當用戶(User)通過Mobile來調用unchange_electricity方法時,通過Electricity_Adapter的轉換就能讓Home_Power的change_electricity方法為其工作,從面達到協同工作的目的。

2.3 模板方法(Template Method)

模板方法也叫算法模板,是指在基類中先定義整體的算法結構,然后在子類中實現具體細節的算法組合過程。模板方法在很多主流的框架中有廣泛的應用,此模式提出是為已集成系統或模塊增加算法靈活性。

模板方法是如何做到不改變算法結構的前提下而又能靈活集成其它的算法呢?其原理如圖3所示。在程序員要對數據庫進行編程操作時,在流程上都是按照三個步驟來實現:(1)連接上數據庫;(2)對數據進行讀寫操作;(3)關閉數據庫。無論是何種關系數據庫管理系統,開頭都是建立連接,結尾則關閉空閑連接,不同的是中間環節的操作語法,因而針對具體關系數據庫時重載相關的算法即可。

在如圖4所示的一個求職場景中,基類Hr中包含三個抽象方法:投簡歷(resume)、測試(quize)、面談(chat),及一個實體方法:求職(applyJob),此方法對面試流程進行了算法定義,如先resume、再quize、最后chat;求職者類LiQin與HeJia繼承Hr類,并實現基類的抽象方法,即在子類具體實現各個面試環節的過程,每個求職者主體面試流程是一致的,但具體細節卻是不一致,因為面試的崗位、資歷等因素不一樣的原因。以上算法準備好就可以開始進行一場求職面試(Interview),Interview對象直接通過求職者類(LiQin、HeJia)調用Hr類的applyJob方法即可實現求職過程。

3 結束語

設計模式是實踐的抽象集成,是一套完整、成熟的思想理論,其最終目標是要達到軟件復用。本文從理論方面舉例論證了設計模式的思想精華,同時從應用方面論述了其使用場景,如何把理論思想與融合在系統架構中是本文下一步的研究方向。

參考文獻:

[1]郭榮.淺談軟件設計模式中的設計原則[J].數碼世界,2015(11):5-6.

[2]范偉.軟件設計模式研究及應用[J].山東工業技術,2015(20):189-189.

[3]溫立輝.Java EE編程技術[M].北京:北京理工大學出版社,2016:196-216.

[4]劉啟明.軟件設計模式應用研究[J].電子技術與軟件工程,2015(9):68.

[5]王飛.簡述軟件設計模式及其使用[J].電子世界,2014(17):82.

主站蜘蛛池模板: 先锋资源久久| 麻豆精品在线视频| 亚洲激情区| 国产一区二区三区免费| 午夜人性色福利无码视频在线观看| 亚洲人成网7777777国产| 强乱中文字幕在线播放不卡| 精品丝袜美腿国产一区| AV老司机AV天堂| 亚洲无线国产观看| 尤物午夜福利视频| 91综合色区亚洲熟妇p| 亚洲精品色AV无码看| 国产激情无码一区二区三区免费| 亚洲一区二区精品无码久久久| 国产免费怡红院视频| 丝袜无码一区二区三区| 青青久久91| 国产亚洲欧美日韩在线一区二区三区| 91久久青青草原精品国产| 综合五月天网| 欧美爱爱网| 一本大道视频精品人妻| 亚洲精品手机在线| 狠狠色成人综合首页| 久久中文字幕不卡一二区| 国产亚洲视频播放9000| 蜜桃视频一区二区| 亚洲人成网站色7777| 亚洲天堂久久久| 毛片网站在线看| 又爽又大又光又色的午夜视频| 国产午夜精品鲁丝片| 不卡视频国产| h视频在线观看网站| 色综合久久88| 免费在线看黄网址| 欧美日韩一区二区三| 超碰aⅴ人人做人人爽欧美 | 久青草国产高清在线视频| 在线国产毛片| 欧美日韩一区二区三区四区在线观看| 欧美第一页在线| 无码日韩视频| 亚洲日本韩在线观看| 日韩精品无码免费专网站| 热久久这里是精品6免费观看| 亚洲香蕉久久| lhav亚洲精品| 免费 国产 无码久久久| 国产福利小视频高清在线观看| 国产精品香蕉| 亚洲VA中文字幕| 色呦呦手机在线精品| 992tv国产人成在线观看| 色婷婷视频在线| 精品综合久久久久久97| 毛片在线看网站| 久久国产乱子| 女人18一级毛片免费观看| 99热这里只有精品在线观看| 午夜免费视频网站| 午夜国产不卡在线观看视频| 欧亚日韩Av| 欧美激情视频一区二区三区免费| аⅴ资源中文在线天堂| 东京热高清无码精品| 91美女视频在线观看| 亚洲天堂在线免费| 色噜噜中文网| 亚洲天堂2014| 欧美色综合网站| 亚洲a级在线观看| 日韩中文字幕亚洲无线码| 超碰色了色| 免费毛片视频| 久久久久无码精品| 亚洲天堂日韩av电影| 亚洲水蜜桃久久综合网站| 午夜a视频| 国产交换配偶在线视频| 亚洲Av激情网五月天|