軟體如何流暢

來源:互聯網
上載者:User

    軟體的流暢性是個十分重要的問題,不論是什麼軟體,重要的,一般的;運行在關係國計民生的地方,或者普通的使用者使用。首先要讓使用者用的舒坦,也就是使用者體驗要好,如何體現這些呢,流暢性無疑是最直觀的了。與流暢相對應的就是卡、反應遲鈍、慢...試想,開發出的軟體或者系統,既卡又慢,還反映遲鈍,我想無論是多麼重要的軟體系統都不會得到使用者認可的,而且如今都是市場經濟了,不好的東西肯定是被淘汰掉的對象。
    因為程式的運行是需要一個過程的,一般主要有:資料擷取(網路,本地;擷取的資料來源無非是資料庫和設定檔)、資料載入(指載入至某種控制項上,以供顯示)、操作資料(也表現在對控制項的操作)、資料封裝,資料運算,資料轉換等,還有邏輯處理,包括操作步驟,方法的調用,對象的執行個體化等等。
    對資料方面,需要良好的資料庫設計,使資料的讀取和寫入不要有太複雜的邏輯,以減少已耗用時間。盡量寫高效能的sql語句。一般這方面最佳化空間比較小。
隨著現在所謂“雲”的概念的出現,從網路讀取資料的方式用的越來越多了,其實這塊是比較耗時的。將資料從網路讀取下來,或者從本地上傳至網路總是需要時間的。在C#中表現為webservice、WCF等服務的使用。這方面除了要最佳化好資料庫和sql語句外,還應該首先要減少在服務端對資料的操作,比如讀取的資料一般為datatable什麼的,我們可能在服務端就定義了類,然後用類將datatable資料進行封裝,此時肯定要花費不少時間尤其是大量資料時。如果對速度要求高,可以去掉這一步,在用戶端完成這些封裝。其次就是在服務端對資料的運算,比如string要轉為int,要進行加減乘除的運算,要轉換為某種格式...因為服務端總是有多個用戶端去訪問的,如此多的操作肯定對讀取時間造成影響。其次,傳輸的問題,讀取出來的資料總是要傳給用戶端的,可以對資料進行處理,比如壓縮。最後,當然是對網路的要求了,這個無非就是提高頻寬,使用多伺服器等,分布的伺服器。
    邏輯處理方面,最大的法寶就是非同步作業了,因為無論效能如何高,總是有必要的已耗用時間。這時就需要非同步處理,使用線程Thread,4.0後的BackgroundWorker等,這樣避免在處理子業務的時候,造成主流程卡住。一般常用的方法就是使用提示或等待框,讓使用者知道進行中某項處理,同時使用者可以隨時取消當前的操作,從而轉入另外的操作步驟。也可以適量使用一些緩衝,儲存一些常用資料,避免重複讀取某些資料。可以將過長的操作邏輯分布進行,避免需要使用者長時間的等待。
當然了在這些過程中,演算法是很重要的,利用演算法提高效能。
    總之,一款使用流暢的軟體,總能給使用者帶來更好的滿意程度。畢竟軟體的價值只有在使用者手裡才能體現出來的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.