麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術(shù)干貨  > 為什么Visual FoxPro漸漸淘汰了?

為什么Visual FoxPro漸漸淘汰了?

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-10-13 04:24:11 1697142251

一、為什么Visual FoxPro漸漸淘汰了

為什么會有Visual FoxPro 要淘汰的傳聞呢,我不是很清楚。但這兩年微軟對Visual FoxPro的不宣傳態(tài)度卻是為這股謠言起到了推波助瀾的作用。另外Visual FoxPro 確實是一個容易引起誤會的產(chǎn)品,初級用戶很容易對它產(chǎn)生“不怎么樣的”評判,于是加上那謠言就產(chǎn)生了“Visual FoxPro 就真的要淘汰了”的幻覺了。

為什么說Visual FoxPro 是容易引起誤會的產(chǎn)品呢?我總結(jié)以下幾點原因:

面向?qū)ο笈c面向過程之爭

我們說Visual FoxPro是面向?qū)ο蠡恼Z言,是有根據(jù)的。面向?qū)ο蠡恼Z言必須具備四個特性:抽象(Abstraction)、封裝(Encapsulation)、繼承(Inheritance)、多態(tài)(Polymorphism)。對照一下Visual FoxPro,是不是支持這四大特性!

當然,Visual FoxPro 與C++和Object Pascal 一樣都是歷史悠久的語言,所以語言中有很多面向過程的語素。我知道很多學校在教學中,只是教導學生們使用Visual FoxPro的面向過程的語言特色,而忽視了面向?qū)ο蟮慕虒W,同樣的問題也存在于廣大的 Visual FoxPro 程序員中。我們必須明白:不能因為我們沒有使用Visual FoxPro面向?qū)ο蟮膹姶蠊δ埽fVisual FoxPro不是面向?qū)ο蟮恼Z言,這就像不能因為天下雨、沒有出太陽,而說太陽被天狗吃掉了——多么的幼稚可笑!

我們知道Visual FoxPro對數(shù)據(jù)的操作沿用了多年來的面向過程的做法,這與現(xiàn)在流行的開發(fā)工具有很大的不同。我覺得,微軟這樣做是有它的道理的:

名列前茅,面向過程的數(shù)據(jù)處理,更能發(fā)揮XBase語言體系的靈活與隨意的特色。這一點,你用過其他的數(shù)據(jù)庫開發(fā)工具,然后再用用Visual FoxPro就明白了。

第二,不直接提供面向?qū)ο蟮臄?shù)據(jù)處理組件,不代表不允許用戶封裝自己的數(shù)據(jù)處理組件。很多優(yōu)異的 Fox程序員,都會自己封裝專門數(shù)據(jù)處理組件,這才是Visual FoxPro編程的高尚境界!

面向記錄與面向集合之爭

根據(jù)筆者的淺薄認知,關(guān)系型數(shù)據(jù)庫處理可以分為面向記錄操作和面向集合操作。

各種開發(fā)工具支持的客戶端光標體系就是面向記錄操作的,它們支持記錄之間的絕對定位,更明白地說就是可以在記錄之間導航,諸如:SKIP、GO TOP之類的語句。Visual FoxPro 無疑是此道的絕對高手,20年的語言發(fā)展,聚集了大量面向記錄的語言要素。這是因為這樣,我們才會反復強調(diào):Visual FoxPro的Cursor 體系靈活、強大!

各類大型數(shù)據(jù)庫,如Oracle、SQL Server 是面向集合處理的代表,看看正統(tǒng)的SQL 語言,絕對沒有數(shù)據(jù)導航之說,數(shù)據(jù)記錄之間是平等的,一切都要講關(guān)系、擺條件!

隨著技術(shù)的發(fā)展,人們開始注意到,不能分割這兩種對數(shù)據(jù)的操作方式,于是大型數(shù)據(jù)庫支持了游標語素,F(xiàn)ox也支持符合規(guī)范的SQL 語言。

產(chǎn)品定位導致Visual FoxPro變化不易為人們感覺。微軟要把Visual FoxPro作為三層構(gòu)架(或是多層構(gòu)架)的中間層開發(fā)工具。

什么是三層構(gòu)架呢?名列前茅層是用戶界面:它包含了用戶界面,讓使用者輸入,輸出,查詢等工作;第三層是資料層:它就是用來放資料的地方,一般是指后端數(shù)據(jù)庫,主要有包括 Oracle、SQL Server 等,它主要是提供一個很大的地方,來有規(guī)則的存放數(shù)據(jù);第二層是商務邏輯層(中間層):有人要說了:存取資料,直接從名列前茅層跳到第二層可不可以?當然可以,沒有人規(guī)定不能走捷徑,而且從數(shù)據(jù)庫直接抓資料,既快又好,那為什么搞出個第二層呢?

商務規(guī)則是經(jīng)常變化的,比如上班從8 點改為10 點,那電腦怎那么知道老板因為不景氣少讓大家上二個小時班呢?它一定無法知道,你必須告訴它,這時問題就來了,如果你有很多部電腦,例如:100 臺,你就得一部部換新程序。如果這是一個掛在Internet上的網(wǎng)絡程序,難道總讓用戶download新程序不成?

更重要的是,在大量客戶存在的環(huán)境里,傳統(tǒng)的兩層構(gòu)架根本沒有能力承擔巨大的工作壓力,必須通過某種中間系統(tǒng)實現(xiàn)壓力平衡,這就是中間層的另一妙用!

中間層是沒有圖形界面設計的代碼編寫,并且是OOP方式的代碼編寫,不僅要熟悉后臺數(shù)據(jù)庫的特性,還要考慮前臺界面工具的特性,最重要的是商務邏輯的構(gòu)架,同時還要求懂得IIS、MTS(COM+)、NT的安全設置等復雜枯燥的東西。有趣的是,近年來 Visual FoxPro 的各種改進,更多的是在這些方面下功夫,到了最新版本的Visual FoxPro 7 更是在此方面增加了若干特性,下面就讓我用四個問題來說明Visual FoxPro 在開發(fā)中間層方面的貢獻:

問題一:Visual FoxPro能開發(fā)出穩(wěn)定、有效率的Server程序嗎?能,在1999年發(fā)布的Visual FoxPro SP 3中微軟賦予了Visual FoxPro開發(fā)多線程進程的內(nèi)組件的能力,并增加了新的運行時刻庫VFPnT.DLL(n代表版本號),支持其運行,在這個運行庫中,刪除了大量老式的和界面控制元素,使得它更小巧。但是由于Visual FoxPro6本身不是很穩(wěn)定(加打SP4或SP5才有所改善),所以這個很棒的功能在Visual FoxPro 6下并不能充分發(fā)揮,直到Visual FoxPro 7出現(xiàn)才使它的顯示出英雄本色!

問題二:分布式的事務、動態(tài)負載平衡怎么實現(xiàn)?Visual FoxPro 7對COM+有很好的支持,借由COM+就可以解決這兩個問題了!

問題三:作為Server程序,客戶程序怎樣與Server交換數(shù)據(jù)集合?這是Visual FoxPro 6開發(fā)的Server程序的致命弱點,我們知道Visual FoxPro是用來處理數(shù)據(jù)的,但不能與外界自由交換數(shù)據(jù)集合會大大降低開發(fā)、使用以及程序運行效率!在Visual FoxPro 7里我們XML就可以快速、輕易的傳遞大型數(shù)據(jù)集合,真正做到數(shù)據(jù)集的來去自由。現(xiàn)在回想Visual FoxPro 6中我們用的那種“循環(huán)+屬性”的做法,真有天上與人間的感受!

問題四:能不能讓Visual FoxPro開發(fā)的Server任由客戶使用,叫干什么就干什么?可以的,在Visual FoxPro 7里提供了一個全新的函數(shù):ExecScript()。有了它,就可以一次執(zhí)行多條客戶端送來的符合Visual FoxPro規(guī)范的語句:你可以定義變量、做查詢、更新數(shù)據(jù)、修改表結(jié)構(gòu)……

微軟確實實踐著讓Visual FoxPro在中間層運行的承諾。但遺憾的是:由于國內(nèi)用戶的水平、國內(nèi)軟件應用的領(lǐng)域,對大多數(shù)Fox Fans 無法感受Visual FoxPro日新月異的變化——對他們來說,Visual FoxPro確實“沒有改變”!

延伸閱讀:

二、Visual FoxPro 對 Web的支持的三個層次

FoxISAPI
這是最先登場的技術(shù),當年 ASP 技術(shù)還沒有出現(xiàn)的時候,我們在 IIS 里就可以通過 ISAPI 技術(shù)實現(xiàn)動態(tài)網(wǎng)頁開發(fā)。

Web Server
ASP 技術(shù)出現(xiàn)了,我們知道 ASP 技術(shù)的一大特色就是支持服務器端的組件的應用。用 Visual FoxPro 的編寫的 COM 組件就能運行在 IIS 里,供 ASP 調(diào)用。

Web Service
這是 Visual FoxPro 7 的新特性,也是當前最熱門的技術(shù)。它與Web Service的最大不同就是:Web Server 組件只能通過 ASP 程序調(diào)用,而Web Service可以供任何系統(tǒng)在全球范圍調(diào)用,無論客戶端的硬件平臺、軟件平臺,只要它支持SOAP、支持XML就可以了。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學 138****2860 剛剛成功領(lǐng)取
王同學 131****2015 剛剛成功領(lǐng)取
張同學 133****4652 剛剛成功領(lǐng)取
李同學 135****8607 剛剛成功領(lǐng)取
楊同學 132****5667 剛剛成功領(lǐng)取
岳同學 134****6652 剛剛成功領(lǐng)取
梁同學 157****2950 剛剛成功領(lǐng)取
劉同學 189****1015 剛剛成功領(lǐng)取
張同學 155****4678 剛剛成功領(lǐng)取
鄒同學 139****2907 剛剛成功領(lǐng)取
董同學 138****2867 剛剛成功領(lǐng)取
周同學 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
訪問網(wǎng)頁的背后發(fā)生了什么?

一、域名解析當我們在瀏覽器中輸入網(wǎng)頁的域名時,首先需要進行域名解析。瀏覽器會將域名發(fā)送給本地域名服務器(DNS),以獲取對應的IP地址。如...詳情>>

2023-10-13 06:04:09
外企銀行一般用什么linux版本系統(tǒng)和數(shù)據(jù)庫呢?

一、外企銀行一般用什么linux版本系統(tǒng)和數(shù)據(jù)庫Linux有非常多的發(fā)行版本,從性質(zhì)上劃分,大體分為由商業(yè)公司維護的商業(yè)版本與由開源社區(qū)維護的免...詳情>>

2023-10-13 05:50:44
為什么Python開發(fā)世界持續(xù)被Django統(tǒng)治那么久?

一、全功能的Web框架Django是一個全功能的Web框架,它提供了許多開箱即用的功能和組件,包括路由系統(tǒng)、模板引擎、ORM(對象關(guān)系映射)工具、表...詳情>>

2023-10-13 05:41:39
Binder到底是什么?

一、Binder的定義Binder是Android系統(tǒng)中的一種進程間通信(IPC)機制,用于不同進程間的數(shù)據(jù)傳遞和通信。它通過跨進程的方法調(diào)用,允許一個進程...詳情>>

2023-10-13 05:40:00
Oracle新出的數(shù)據(jù)庫Oracle21c怎么樣?

一、Oracle21c怎么樣Oracle 考慮到 2020 年我們的客戶將面臨前所未有的經(jīng)濟和業(yè)務中斷。我們決定不將 Database 20c Preview 版本升級為 General...詳情>>

2023-10-13 05:34:16
主站蜘蛛池模板: 日韩制服丝袜电影| 泰国午夜理伦三级| 上原亚衣一区二区在线观看 | 麻豆精品不卡国产免费看| 交换年轻夫妇5| 免费一级在线观| 麻豆视频传媒二区| 一边摸一边爽一边叫床视频| 天堂mv在线免费看| 女邻居的大乳| loveme枫と铃樱花动漫| 亚洲精品福利网站| swag合集120部| 婷婷人人爽人人爽人人片| 男人j进入女人j内部免费网站| 一二三四视频社区在线| 大狠狠大臿蕉香蕉大视频| av网站免费线看| 日本漫画之无翼彩漫大全| 黄色a级片电影| 免费无遮挡肉动漫在线观看 | 欧美va在线高清| 884aa四虎在线| 精品久久久久久亚洲精品| 欧美三级免费观看| 国产毛片一级| 亚洲一区二区三区免费| 日本爽爽爽爽爽爽在线观看免| 麻豆视传媒一区二区三区| 好男人社区神马www| 哆啦a梦エロ本| 最近中文字幕最新在线视频| 精品国产综合区久久久久久| 成人免费漫画在线播放| 精品视频一区二区三区| 国产精品99| 干b视频在线观看| 1111| 一本伊人| 99re热在线观看| 欧美巨大bbbb|