亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

用于正則表達式的抽象JavaAPI

2019-11-18 13:48:31
字體:
來源:轉載
供稿:網友

簡介
盡管您可能認為編寫需要分析文本的 java 應用程序是一項簡單任務,但象許多事情一樣,它會很快變得復雜起來。那的確是我在編寫代碼以解析 Html 頁面時的經驗。開始的時候,我偶然會使用 Perl5 正則表達式(regeXP)。但是,由于某些原因(稍后說明),我后來經常使用它們。


背景知識
在我的經驗中,大多數 Java 開發人員都需要解析某種文本。通常,這意味著他們最初要花一些時間使用象 indexOf 或 substring 那樣的與 Java 字符串相關的函數或方法,并且希望輸入格式永遠不變。但是,假如輸入格式改變,那么用于讀取新格式的代碼維護起來就會變得更復雜、更困難。最后,代碼可能需要支持自動換行(Word wrapping)、區分大小寫等。


由于邏輯變得更加復雜,所以維護也變得很困難。因為任何更改都可能產生副作用并使文本解析器的其它部分停止工作,所以開發人員需要時間修正這些小錯誤。


有一定 Perl 經驗的開發人員可能也有過使用正則表達式的經驗。假如夠幸運(或優秀)的話,這位開發人員能夠說服團隊其余的人(或至少是團隊領導)使用這項技術。新的方法將取消編寫用來調用 String 方法的多行代碼,它意味著將解析器邏輯的核心委托出去,并替換為 regexp 庫。


接受了有 Perl5 經驗的開發人員的建議后,團隊必須選擇哪個 regex 實現最適合他們的項目。然后他們需要學習如何使用它。


在簡要地研究了從因特網上找到的眾多可選方案后,假設團隊決定從人們更熟悉的庫中選擇一個使用,如屬于 Jakarta 項目的 Oro。接下來,對解析器進行較大程度地重構或幾乎重新編寫,并且解析器最終使用了 Oro 的類,如 Perl5Compiler、Perl5Matcher 等。


這一決定的后果很明顯:



  • 代碼與 Jakarta Oro 的類緊密地耦合在一起。

  • 團隊承擔了風險,因為不知道非功能性需求(如性能或線程模型)是否將得到滿足。

  • 團隊已花費時間和財力來學習并重新編寫代碼,以使它使用 regexp 庫。假如他們的決定是錯誤的并且選擇了新的庫,則這一工作在成本上將不會有很大區別,因為將需要再次重新編寫代碼。

  • 即使庫工作正常,假如他們決定應該遷移到全新的庫(例如,包括在 JDK 1.4 中的庫),怎么辦?

去耦的好處
有沒有辦法使團隊知道哪個實現最適合他們的需要呢(不僅現在能將來也能)?讓我們試著尋找答案。


避免依靠任何特定的實現
前面的情形在軟件工程中十分常見。在有些情況中,這樣的情形會導致較大的投資和較長的延期。當不了解所有后果就作出決定而且決策制定人不太走運或缺乏必需的經驗時,就經常會發生這種情況。


可將該情形概括如下:



  • 您需要某種提供者
  • 您沒有選擇最佳提供者的客觀標準
  • 您希望能用最低的成本來評估所有的待選項
  • 所作的決定不應將您束縛在所選的提供者上

這一問題的解決方法是使代碼更加獨立于提供者。這引入了新的層 ― 同時去除客戶機和提供者的耦合的層。


在服務器端開發中,很輕易找到使用該方法的模式或體系結構。下面引用一些示例:



  • 對于 J2EE,您主要關注如何構建應用程序而不是應用程序服務器的細節。
  • 數據訪問對象(Data access Object,DAO)模式隱藏了如何訪問數據庫(或 LDAP 服務器、xml 文件等)的細節和復雜性,因為它提供了訪問抽象持久存儲層的方法,而您則不需要在客戶機代碼中處理數據庫問題(數據實際存儲在哪里)。這不是四人組(Gang of Four,GoF)模式,而是 Sun 的 J2EE 最佳實踐的一部分。

在假想的開發團隊示例中,他們正在尋找這樣的層:



  • 抽象所有正則表達式實現背后的概念。團隊就可以著重學習和理解這些概念。他們所學的可以應用到任何實現或版本。

  • 支持新的庫且沒有副作用?;诓寮w系結構,動態選擇執行 regexp 模式的實際庫,并且適配器不會被耦合。新庫僅會引入對新適配器的需要。

  • 提供比較不同可選方案的方法。一個簡單的基準實用程序就可以顯示有趣的性能測量結果。假如對每個實現都執行這樣的實用程序,團隊就會獲得有價值的信息并能選擇最好的可選方案。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品www久久久久久广东| 中文字幕在线看视频国产欧美在线看完整| 精品久久国产精品| 国产精品久久激情| 日韩精品免费综合视频在线播放| 欧美午夜女人视频在线| 亚洲欧美中文日韩v在线观看| 欧美性jizz18性欧美| 亚洲a级在线播放观看| 成人在线视频网站| 亚洲欧洲日产国码av系列天堂| www.亚洲免费视频| 欧美成人一二三| 久久亚洲成人精品| 色午夜这里只有精品| 色综合视频一区中文字幕| 亚洲电影免费在线观看| 亚洲一区二区三区在线视频| 国产精品福利网站| 亚洲第一精品夜夜躁人人躁| 欧美成人全部免费| 久久久久久伊人| 欧美美最猛性xxxxxx| 精品久久久久久久久国产字幕| 51ⅴ精品国产91久久久久久| 91免费看片在线| 高清一区二区三区日本久| 国产精品久久久久久久美男| 日韩精品欧美国产精品忘忧草| 91在线|亚洲| 欧美—级高清免费播放| wwwwwwww亚洲| 欧美激情视频网| 国产免费亚洲高清| 97精品视频在线观看| 亚洲高清免费观看高清完整版| 欧美国产激情18| 国产精品视频一| 日韩在线观看免费高清| 91精品国产综合久久香蕉922| 亚洲欧美视频在线| 日韩精品在线看| 97久久久久久| 日韩精品在线观看一区二区| 欧美大片免费观看在线观看网站推荐| 国产午夜精品理论片a级探花| 日韩免费高清在线观看| 亚洲欧美精品suv| 久久国产精彩视频| 亚洲人在线观看| 9.1国产丝袜在线观看| 国产一区二区色| 欧美日韩亚洲系列| 欧美中文在线观看国产| 日韩免费av片在线观看| 国产一区二区三区在线观看视频| 亚洲人成网7777777国产| 亚洲午夜久久久久久久| 亚洲成av人片在线观看香蕉| 91日本在线观看| 久久夜精品va视频免费观看| 亚洲精品98久久久久久中文字幕| 久久综合久久美利坚合众国| 亚洲视频精品在线| 91亚洲国产成人久久精品网站| 91精品国产综合久久久久久久久| 亚洲国产天堂久久综合网| 亚洲a区在线视频| 中文亚洲视频在线| 国产在线观看精品一区二区三区| 黄色一区二区三区| 国产98色在线| 午夜精品一区二区三区在线播放| 欧美精品午夜视频| 日韩欧美一区视频| 精品久久久久久久久久久| 精品久久久久久中文字幕一区奶水| 国产成人精品视频在线观看| 国产精品美女网站| 欧美裸体xxxx极品少妇软件| 精品视频一区在线视频| 亚洲999一在线观看www| 最新国产精品拍自在线播放| 96sao精品视频在线观看| 久久精品国产久精国产思思| 亚洲第一福利在线观看| 久久久久久久久久国产精品| 久久视频在线直播| 久久久久久九九九| 精品久久久久久久久久久久久| 操人视频在线观看欧美| 国产欧美日韩91| 91精品国产综合久久香蕉最新版| 97国产真实伦对白精彩视频8| 国产区精品在线观看| 91在线免费观看网站| 国产精品久久久久久久午夜| 亚洲级视频在线观看免费1级| 中文字幕欧美精品在线| 日韩国产激情在线| 国产精品美乳一区二区免费| 亚洲欧美精品一区二区| 日韩成人激情影院| 国产精品盗摄久久久| 亚洲男人的天堂在线| 精品福利樱桃av导航| 日韩不卡在线观看| 国产精品日韩欧美| 精品国产拍在线观看| 日韩电影中文字幕一区| 九九热这里只有在线精品视| 亚洲成人精品av| 91九色视频导航| www.日韩欧美| 中文国产成人精品久久一| 亚洲精品一区二三区不卡| 激情亚洲一区二区三区四区| 久久97精品久久久久久久不卡| 国产午夜精品全部视频在线播放| 中文字幕免费精品一区| 欧美成人在线免费视频| 中文字幕日韩av综合精品| 成人亚洲欧美一区二区三区| 精品网站999www| 日韩免费高清在线观看| 亚洲欧美成人在线| 久久久久亚洲精品| 尤物九九久久国产精品的分类| 欧美福利视频网站| 亚洲精品国产福利| 日韩中文av在线| 久久久久久中文| 亚洲国产精品热久久| 亚洲精品白浆高清久久久久久| 国内精品久久久久影院 日本资源| 国产精品狠色婷| 国产精品一区二区三区免费视频| 成人福利网站在线观看11| 日本国产一区二区三区| 欧美日韩国产丝袜美女| 永久免费毛片在线播放不卡| 日韩中文综合网| 亚洲人在线观看| 成人黄色生活片| 国产成人精品一区二区| 成人黄色免费在线观看| 亚洲午夜久久久影院| 亚洲国产成人久久综合| 4438全国亚洲精品在线观看视频| 国产欧美精品久久久| 国产日产欧美a一级在线| 一区二区在线视频| x99av成人免费| 激情久久av一区av二区av三区| 91久久精品国产| 久久久黄色av| 国模精品系列视频| 亚洲精品福利免费在线观看| 91国产高清在线| 色婷婷综合久久久久| 日韩精品视频免费在线观看| 国产精品第3页| 精品视频偷偷看在线观看| 欧美性猛交xxxx|