国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

設(shè)計(jì)模式在光刻版清洗系統(tǒng)軟件設(shè)計(jì)中的應(yīng)用

2014-07-04 03:27:34侯為萍高建利劉玉倩
關(guān)鍵詞:單件控制卡溫控器

侯為萍,高建利,劉玉倩

(中國(guó)電子科技集團(tuán)公司第四十五研究所,北京101601)

軟件開(kāi)發(fā)中,好的設(shè)計(jì)會(huì)給系統(tǒng)的維護(hù)、修改、擴(kuò)展帶來(lái)極大的方便。好的系統(tǒng)設(shè)計(jì)來(lái)源于對(duì)過(guò)去成功開(kāi)發(fā)經(jīng)驗(yàn)的借鑒,而設(shè)計(jì)模式的引入正是將其他項(xiàng)目開(kāi)發(fā)中總結(jié)的經(jīng)驗(yàn)和當(dāng)前項(xiàng)目的實(shí)際開(kāi)發(fā)情況相結(jié)合,它使開(kāi)發(fā)人員可以更簡(jiǎn)單方便地復(fù)用成功的設(shè)計(jì)和體系結(jié)構(gòu),并且在軟件分析和設(shè)計(jì)上具有更高的視角,避免過(guò)早地處理細(xì)節(jié)。文中在設(shè)計(jì)和開(kāi)發(fā)光刻版清洗系統(tǒng)軟件的基礎(chǔ)上,對(duì)設(shè)計(jì)模式進(jìn)行研究和運(yùn)用,選擇和應(yīng)用恰當(dāng)?shù)脑O(shè)計(jì)模式來(lái)提高軟件系統(tǒng)的可擴(kuò)展性和可維護(hù)性。

1 設(shè)計(jì)模式的基本概念

設(shè)計(jì)模式最初產(chǎn)生于建筑行業(yè),建筑行業(yè)的設(shè)計(jì)師意識(shí)到他們需要共享有關(guān)正確設(shè)計(jì)技術(shù)的想法,這樣他們可以從分享經(jīng)驗(yàn)和教訓(xùn)中獲益。20世紀(jì)80年代后期,設(shè)計(jì)模式從建筑業(yè)進(jìn)入計(jì)算機(jī)系統(tǒng)領(lǐng)域,面向?qū)ο笤瓌t逐漸得到普及,而設(shè)計(jì)模式成為培育新的面向?qū)ο笞冯S者的最佳實(shí)踐[1]。其中24 種模式被奉為經(jīng)典模式,依據(jù)設(shè)計(jì)模式的目的, 可將設(shè)計(jì)模式分為三類(lèi):創(chuàng)建型模式、結(jié)構(gòu)型模式、行為型模式。創(chuàng)建型模式和對(duì)象的創(chuàng)建過(guò)程有關(guān),結(jié)構(gòu)型模式用于處理類(lèi)和對(duì)象的組合,行為型模式對(duì)類(lèi)和對(duì)象怎樣交互以及怎樣分配職責(zé)進(jìn)行描述。本文中所引用的模式都來(lái)自于其中。

一般而言,一個(gè)完整的設(shè)計(jì)模式由模式名稱(chēng)、問(wèn)題、解決方案、效果4 個(gè)基本要素組成。在實(shí)際的系統(tǒng)設(shè)計(jì)開(kāi)發(fā)中,沒(méi)有一個(gè)設(shè)計(jì)模式是獨(dú)立存在的,設(shè)計(jì)模式之間存在著相互支持、相互依賴(lài)的關(guān)系。理解設(shè)計(jì)模式及其相互間的關(guān)系, 有助于很好地解決應(yīng)用某設(shè)計(jì)模式時(shí)可能出現(xiàn)的其它新問(wèn)題[2]。

2 光刻版清洗系統(tǒng)

2.1 光刻版清洗系統(tǒng)簡(jiǎn)介

光刻版清洗系統(tǒng)主要用于完成4 英寸、5 英寸、6 英寸光刻版的全自動(dòng)化清洗工作(具體功能劃分見(jiàn)圖1),提供相關(guān)的圖形界面,具有工藝設(shè)置,設(shè)備狀態(tài)顯示,溫度控制,日志管理,用戶(hù)管理,報(bào)警記錄,高級(jí)設(shè)置,工藝操作,設(shè)備關(guān)閉等功能。

2.2 設(shè)計(jì)模式的引入

圖1 系統(tǒng)功能用例圖

在做光刻版清洗系統(tǒng)軟件設(shè)計(jì)時(shí),由于用戶(hù)需求的不明確性,導(dǎo)致很難界定軟件開(kāi)發(fā)的具體范圍。這是一個(gè)很大的問(wèn)題。如果軟件設(shè)計(jì)沒(méi)有足夠的可擴(kuò)展性,層次之間耦合性很強(qiáng),那么一旦用戶(hù)提出新的需求或是更改原來(lái)的需求,將有可能導(dǎo)致軟件系統(tǒng)代碼大范圍內(nèi)的修改,甚至是整體推倒重來(lái),這不僅會(huì)帶來(lái)人力、物力上的巨大浪費(fèi),而且還可能引起一些商業(yè)上的糾紛[3]。為了解決這個(gè)問(wèn)題,可以借助于業(yè)內(nèi)成功者的設(shè)計(jì)經(jīng)驗(yàn),在系統(tǒng)的設(shè)計(jì)中引入設(shè)計(jì)模式,它可以極大地提升系統(tǒng)的可擴(kuò)展性,保障系統(tǒng)有效地應(yīng)對(duì)用戶(hù)需求的變化。此外,設(shè)計(jì)模式的引入,還會(huì)增強(qiáng)系統(tǒng)的可維護(hù)性,降低軟件系統(tǒng)后期維護(hù)的成本。

3 在光刻版清洗系統(tǒng)軟件設(shè)計(jì)中的應(yīng)用

3.1 單件模式的應(yīng)用

單件(Singleton)模式是創(chuàng)建型模式中最常見(jiàn)的一種,它用來(lái)封裝對(duì)象的創(chuàng)建,旨在保證一個(gè)類(lèi)僅有一個(gè)實(shí)例,并提供一個(gè)訪(fǎng)問(wèn)它的全局訪(fǎng)問(wèn)點(diǎn)。單件模式的典型工作方式是:定義有一個(gè)特定的方法,這個(gè)方法被用于實(shí)例化需要的對(duì)象。當(dāng)這個(gè)方法被調(diào)用時(shí),它檢查這個(gè)對(duì)象是否已經(jīng)被實(shí)例化。如果對(duì)象已經(jīng)被實(shí)例化,這個(gè)方法僅僅返回這個(gè)對(duì)象的一個(gè)引用;如果對(duì)象尚未實(shí)例化,這個(gè)方法將對(duì)象實(shí)例化并返回這個(gè)新的實(shí)例的引用。為了確保該方法是創(chuàng)建這個(gè)類(lèi)型對(duì)象的唯一途徑,需要將構(gòu)造函數(shù)定義為保護(hù)(protected)或私有(private)類(lèi)型[4]。

對(duì)于光刻版清洗系統(tǒng),定義一個(gè)Main 類(lèi),它代表整個(gè)系統(tǒng),是光刻版清洗系統(tǒng)軟件中的主類(lèi),負(fù)責(zé)軟件中各個(gè)類(lèi)的協(xié)調(diào)。因此,其實(shí)例應(yīng)該是唯一的。為了保證只有一個(gè)Main 的實(shí)例存在,使用單件模式,并提供一個(gè)訪(fǎng)問(wèn)它的全局訪(fǎng)問(wèn)點(diǎn)。如圖2 所示,Main 類(lèi)定義一個(gè)Instance 靜態(tài)方法,以及一個(gè)靜態(tài)屬性,類(lèi)型為Main 類(lèi)的實(shí)例。在Instance 方法中創(chuàng)建Main 類(lèi)的唯一實(shí)例。同時(shí),把Main 類(lèi)原有的構(gòu)造函數(shù)定義為保護(hù)類(lèi)型,這樣保證了客戶(hù)只能通過(guò)靜態(tài)成員函數(shù)來(lái)創(chuàng)建Main 的實(shí)例。從實(shí)施效果看,這樣做可以保證對(duì)唯一實(shí)例的受控訪(fǎng)問(wèn),Main 類(lèi)封裝了自身的唯一實(shí)例,所以它可以嚴(yán)格地控制客戶(hù)怎樣以及何時(shí)訪(fǎng)問(wèn)它;同時(shí),縮小名字空間,單件模式是對(duì)全局變量的一種改進(jìn),它避免了那些存儲(chǔ)唯一實(shí)例的全局變量對(duì)名字空間所造成的污染。

3.2 策略模式的應(yīng)用

圖2 單件模式

光刻版清洗系統(tǒng)中有溫控單元,為使溫控器的選擇具有更大的靈活性,引入了策略(Strategy)模式。在策略模式中定義了策略的輸入和輸出,而把策略的實(shí)現(xiàn)留給了各個(gè)類(lèi),這些類(lèi)的不同實(shí)現(xiàn)方案來(lái)實(shí)現(xiàn)統(tǒng)一操作,他們提供了統(tǒng)一的接口,因而這些類(lèi)可以相互替換。策略模式允許多種策略共存,而代碼不會(huì)混亂。該模式的意圖在于把可選的策略或方案封裝在不同的類(lèi)中,并在這些類(lèi)中來(lái)實(shí)現(xiàn)同一個(gè)操作。本系統(tǒng)中把不同的溫控器讀寫(xiě)控制命令封裝起來(lái),并使它們可以相互替換,這樣不但可以在不同的溫控器中選擇性?xún)r(jià)比最高的,而且在將來(lái)有更好的溫控器出現(xiàn)時(shí)能夠方便地對(duì)系統(tǒng)進(jìn)行改進(jìn)和擴(kuò)展。實(shí)現(xiàn)Strategy 模式的類(lèi)圖如圖3 所示。

圖3 策略模式

將溫控類(lèi)中的通用方法提升到接口ITemp-Control 中,該接口在實(shí)現(xiàn)上是一個(gè)抽象基類(lèi),所有具體算法類(lèi)都從該接口派生,ConcreteTemp-ControlA,ConcreteTempControlB, ConcreteTemp-ControlC 是針對(duì)不同的溫控器編寫(xiě)的具體溫控類(lèi),它們只是在實(shí)現(xiàn)ReadUnitTempData 等操作時(shí)存在不同。使用策略模式后,編程時(shí)不針對(duì)具體的溫控類(lèi),而是針對(duì)接口ITempControl 進(jìn)行。由于具體的算法類(lèi)都是從ITempControl 接口派生的,根據(jù)多態(tài)機(jī)制,只要改變類(lèi)名就可以完成溫控器的更換,無(wú)需大量的代碼更改。

3.3 適配器模式的應(yīng)用

光刻版清洗系統(tǒng)軟件通過(guò)運(yùn)動(dòng)控制卡對(duì)電機(jī)進(jìn)行控制,該運(yùn)動(dòng)控制卡既可以是插在PC 主板PCI 槽上的CAN 卡或者雷泰卡等,也可以是單獨(dú)的控制器等其他硬件。每種硬件通常都有一個(gè)專(zhuān)有類(lèi)對(duì)它進(jìn)行操作,由于每種硬件都有其特有的操作方式,操作類(lèi)的方法各不相同。假設(shè)CANMotion 類(lèi)用于操作CAN 卡,LTMotion 類(lèi)用于操作雷泰卡。當(dāng)需要更換運(yùn)動(dòng)控制卡時(shí)要進(jìn)行大量的代碼替換,適配器模式為這種情況提供了解決方案。適配器(Adapter)模式的意圖是將一個(gè)類(lèi)的接口轉(zhuǎn)換成客戶(hù)希望的另外一個(gè)接口,使得原本由于接口不兼容而不能一起工作的那些類(lèi)可以一起工作。如圖4 所示,IMotionInterface 是Main 類(lèi)用于操作運(yùn)動(dòng)控制卡的接口。它定義了一些操作運(yùn)動(dòng)控制卡的通用方法:CardOpen 方法用于打開(kāi)運(yùn)動(dòng)控制卡,CardInit 用于初始化運(yùn)動(dòng)控制卡,CardClose 用于關(guān)閉運(yùn)動(dòng)控制卡,MotorMove 用于控制電機(jī)運(yùn)動(dòng)等。這樣,只要保證每種運(yùn)動(dòng)控制卡的操作類(lèi)實(shí)現(xiàn)了IMotionInterface 接口,就可以在基本不改變?cè)写a的基礎(chǔ)上完成硬件的更改和添加。

圖4 適配器模式

4 結(jié)束語(yǔ)

文中詳細(xì)描述了在光刻版清洗系統(tǒng)軟件設(shè)計(jì)中,選擇和使用設(shè)計(jì)模式的經(jīng)驗(yàn)。目前,該軟件系統(tǒng)已投入使用,并獲得了用戶(hù)的高度評(píng)價(jià)。應(yīng)用設(shè)計(jì)模式,可以復(fù)用成功的解決方案,避免為普通、重復(fù)的問(wèn)題再重新設(shè)計(jì)解決方案,使得該軟件系統(tǒng)開(kāi)發(fā)的效率和軟件系統(tǒng)的質(zhì)量都得到了極大的提升,并且使軟件系統(tǒng)具有更好的可擴(kuò)展性和可維護(hù)性。

[1] Erich Gamma,Richard Helm,Ralph Johnson,etal. 李英軍,馬曉星,蔡敏,等譯. 設(shè)計(jì)模式-可復(fù)用面向?qū)ο筌浖幕A(chǔ)[M]. 北京:機(jī)械工業(yè)出版社,2000.

[2] 馬曦,李蕾,呂遐東,等. 設(shè)計(jì)模式在對(duì)準(zhǔn)數(shù)據(jù)采集處理系統(tǒng)中的應(yīng)用[J]. 艦船電子工程,2009,180(6):149-152.

[3] 楊洲,王自強(qiáng),周余,等. 設(shè)計(jì)模式在數(shù)據(jù)采集系統(tǒng)中的應(yīng)用[J]. 微電子學(xué)與計(jì)算機(jī),2008,25(2):107-110.

[4] 蔡文貌,王自強(qiáng),都思丹. 設(shè)計(jì)模式在機(jī)器人控制系統(tǒng)中的應(yīng)用[J]. 科學(xué)技 術(shù)與工程,2008,8(1):199-202.

猜你喜歡
單件控制卡溫控器
兼容多種運(yùn)動(dòng)控制卡的V割機(jī)數(shù)控系統(tǒng)關(guān)鍵技術(shù)*
現(xiàn)場(chǎng)電子音樂(lè)與單件樂(lè)器結(jié)合時(shí)的功能及其實(shí)現(xiàn)方式
西門(mén)子推出緊湊型視覺(jué)單件分離器
垂直層3D打印新技術(shù)助力波音制造單件大尺寸工裝
空調(diào)溫控器上蓋熱流道注塑模具設(shè)計(jì)
基于運(yùn)動(dòng)控制卡的桁架機(jī)器人控制系統(tǒng)設(shè)計(jì)
凌華科技四軸伺服/步進(jìn)運(yùn)動(dòng)控制卡PCI-C154+
同中求異
赫斯基在2014年Chinaplas展示業(yè)界領(lǐng)先的熱流道和溫控器技術(shù)
高可靠性通信設(shè)備主備倒換軟件實(shí)現(xiàn)方法
清流县| 奇台县| 东阿县| 当阳市| 淮安市| 南溪县| 平邑县| 张北县| 长葛市| 建水县| 铜山县| 宜章县| 区。| 湾仔区| 朝阳市| 龙里县| 女性| 西城区| 乌拉特中旗| 靖西县| 甘德县| 丁青县| 西林县| 荔浦县| 井冈山市| 塔河县| 大同市| 宝鸡市| 紫金县| 马鞍山市| 翼城县| 惠东县| 汪清县| 永仁县| 克山县| 太保市| 长海县| 松滋市| 北碚区| 仁布县| 吴忠市|