国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

            手機(jī)站
            千鋒教育

            千鋒學(xué)習(xí)站 | 隨時隨地免費(fèi)學(xué)

            千鋒教育

            掃一掃進(jìn)入千鋒手機(jī)站

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

            關(guān)注千鋒學(xué)習(xí)站小程序
            隨時隨地免費(fèi)學(xué)習(xí)課程

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

            為什么Visual FoxPro漸漸淘汰了?

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

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

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

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

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

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

            當(dāng)然,Visual FoxPro 與C++和Object Pascal 一樣都是歷史悠久的語言,所以語言中有很多面向過程的語素。我知道很多學(xué)校在教學(xué)中,只是教導(dǎo)學(xué)生們使用Visual FoxPro的面向過程的語言特色,而忽視了面向?qū)ο蟮慕虒W(xué),同樣的問題也存在于廣大的 Visual FoxPro 程序員中。我們必須明白:不能因?yàn)槲覀儧]有使用Visual FoxPro面向?qū)ο蟮膹?qiáng)大功能,而說Visual FoxPro不是面向?qū)ο蟮恼Z言,這就像不能因?yàn)樘煜掠?、沒有出太陽,而說太陽被天狗吃掉了——多么的幼稚可笑!

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

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

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

            面向記錄與面向集合之爭

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

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

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

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

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

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

            商務(wù)規(guī)則是經(jīng)常變化的,比如上班從8 點(diǎn)改為10 點(diǎn),那電腦怎那么知道老板因?yàn)椴痪皻馍僮尨蠹疑隙€小時班呢?它一定無法知道,你必須告訴它,這時問題就來了,如果你有很多部電腦,例如:100 臺,你就得一部部換新程序。如果這是一個掛在Internet上的網(wǎng)絡(luò)程序,難道總讓用戶download新程序不成?

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

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

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

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

            問題三:作為Server程序,客戶程序怎樣與Server交換數(shù)據(jù)集合?這是Visual FoxPro 6開發(fā)的Server程序的致命弱點(diǎn),我們知道Visual FoxPro是用來處理數(shù)據(jù)的,但不能與外界自由交換數(shù)據(jù)集合會大大降低開發(fā)、使用以及程序運(yùn)行效率!在Visual FoxPro 7里我們XML就可以快速、輕易的傳遞大型數(shù)據(jù)集合,真正做到數(shù)據(jù)集的來去自由?,F(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)……

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

            延伸閱讀:

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

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

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

            Web Service
            這是 Visual FoxPro 7 的新特性,也是當(dāng)前最熱門的技術(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)強(qiáng)師集結(jié),手把手帶你蛻變精英
            請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
            免費(fèi)領(lǐng)取
            今日已有369人領(lǐng)取成功
            劉同學(xué) 138****2860 剛剛成功領(lǐng)取
            王同學(xué) 131****2015 剛剛成功領(lǐng)取
            張同學(xué) 133****4652 剛剛成功領(lǐng)取
            李同學(xué) 135****8607 剛剛成功領(lǐng)取
            楊同學(xué) 132****5667 剛剛成功領(lǐng)取
            岳同學(xué) 134****6652 剛剛成功領(lǐng)取
            梁同學(xué) 157****2950 剛剛成功領(lǐng)取
            劉同學(xué) 189****1015 剛剛成功領(lǐng)取
            張同學(xué) 155****4678 剛剛成功領(lǐng)取
            鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
            董同學(xué) 138****2867 剛剛成功領(lǐng)取
            周同學(xué) 136****3602 剛剛成功領(lǐng)取
            相關(guān)推薦HOT
            訪問網(wǎng)頁的背后發(fā)生了什么?

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

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

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

            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)中的一種進(jìn)程間通信(IPC)機(jī)制,用于不同進(jìn)程間的數(shù)據(jù)傳遞和通信。它通過跨進(jìn)程的方法調(diào)用,允許一個進(jìn)程...詳情>>

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

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

            2023-10-13 05:34:16
            快速通道