關於軟體設計中的分歧---資源清理
背景:軟體退出,即關閉軟體。
分歧:(1)甲認為軟體退出,程序結束之後作業系統將其佔用的資源進行清除,即將其佔用的記憶體清除,將其開啟的檔案關閉,其核心使用物件遞減,同時所有使用者物件和GDI對 象均被撤銷,所以不需要對各執行緒的退出做順序化處理。
(2)乙認為應該嚴格控制軟體退出時各模組的順序,這樣可以避免軟體退出時發生的不可預期的錯誤。
結論:(1)無論是否必要,軟體設計者都要嚴格控制自己軟體執行的順序,而不是能軟體失去控制。
(2)退出的出發點不是為了清除動態申請的記憶體,因為這不必要;也不僅僅是為了關閉正在開啟的裝置,因為都有辦法解決。而是為了對軟體精細的掌控,否則後果很糟糕。
相關推薦
關於軟體設計中的分歧---資源清理
背景:軟體退出,即關閉軟體。 分歧:(1)甲認為軟體退出,程序結束之後作業系統將其佔用的資源進行清除,即將其佔用的記憶體清除,將其開啟的檔案關閉,其核心使用物件遞減,同時所有使用者物件和GDI對 象均被撤銷,所以不需要對各執行緒的退出做順序化處理。
論軟體設計中的哲學觀
所謂哲學,即透過事物的表面現象,通過客觀理性的分析,找出更接近事物本質的通用解。從而以一種大宇宙的視角,來觀察和解讀這個世界的種種現象。如道家所謂的“一”,佛家所云的“眾生平等”。  
漫談 · 軟體設計中的具象化
本文微信公眾號連結:https://mp.weixin.qq.com/s/PiZU1biNR5DeqrjnhXE9ag 何為具象化?要說具象,就要說說與具象有關的抽象、表象。 抽象與具象: 抽象是通過分析與綜合的途徑,運用概念在人
軟體設計中的可移植性的考慮
由於在下水平相當有限,不當之處還望大家不吝賜教。 參考Linux核心的思路,對應用程式的可移植性設計做出的思考。 Linux核心中,最前期的啟動程式碼是特定體系結構的程式碼,還有中斷、異常、系統呼叫的前期都會進入特定體系結構的框架程式碼,然後再轉入體系結構無關的程式碼。
安裝軟體過程中,資源被佔用問題
安裝軟體過程中總會出現如下問題: E: 無法獲得鎖 /var/lib/dpkg/lock - open (11: 資源暫時不可用) E: 無法鎖定管理目錄(/var/lib/dpkg/),是否有其他程序正佔用它? 解決方法: 1)終端輸入 ps aux ,列出程序。找
軟體設計中的可除錯性
軟體除錯是我們學習軟體開發的第一課,開發往往大部分的時間不是在寫程式碼,而是在查 Bug,相信大家也深有體會。我們有很多手段可以除錯問題,除錯最常用的手段包括打日誌、GDB、分析堆疊、跟蹤系統呼叫等等。但要怎麼樣才能從設計開始就考慮降低除錯門檻,當我們的程式碼出現問題時能快速
訊息機制在軟體設計中的應用
訊息機制是個實用的東西,不知道是何人發明,個人見識較少,最早見於WIN32程式設計,關鍵的幾句程式碼大約是:while(GetMessage (&msg, NULL, 0, 0)) { TranslateMessage (&m
程式設計師教程-5章-軟體工程基礎知識 軟體設計之UML—UML中的六大關係
先給出目錄結構 5.1 軟體工程概述 5.1.1 軟體生存週期 1 問題定義 2 可行性分析 3 需求分析 4 總體設計 5 詳細設計 6 編碼和單元測試 7 綜合測試 8 維護
軟體開發,標準化流水線式開發的實施構想 Internet 服務匯流排 嵌入式通用行業應用平臺的靈魂和搭建 快速原型開發模式在實際開發過程中的應用 公用物件請求代理(排程)程式體系結構(CORBA) UML軟體設計基礎(UML圖詳解) (篇01)企業如何軟體商業化? (篇02)企業如何軟體商業化? 在
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
軟體構建中的設計(一)
設計中的挑戰 “軟體設計”意味著去構思。創造或發明一套方案,把一份軟體的規格說明書變成功能可執行的軟體。設計就是把需求分析和編碼除錯連起來的活動。好的高層次設計能提供一個穩妥容納多個較低層次設計的結構。好的設計對於小型專案非常有用,對於大型專案就更是不可或缺。 設計是一個險惡的問題 設計是一個險惡的問題
程式碼大全 讀書筆記(3)軟體構建中的設計
1. 選擇程式語言 熟悉的語言 高階的語言 更能表達程式設計中各種概念的語言 每種語言都有自己的優點和弱點,要知道所選用語言的明確優點和弱點。 問問自己,採用的程式設計實踐是對你所用的程式語言的正確響應,還是受它的控制,記得“深入一種語言去程式設計”,不要僅“在一種語言上程式設計
軟體設計開發中經常出現的一些問題
在面向物件開發過程中,由於設計者的水平和業務需求的變動,軟體設計中出現這樣或者那樣的問題,下面就是一些經常出現的問題: 對於軟體中任何一部分的改動,都會引起其他多個模組的連鎖改動。改動的越多,就越說明軟體的設計有問題。 改動程式中的一小部分程式碼,程式的許多部分都會出現
軟體測試中測試用例常用的設計方法分析
一、場景法 官方:通過運用場景法對系統的功能點或業務流程描述,從而提高測試效果。場景法一般包含基本流和備選流,從一個流程開始,通過描述經過的路徑來確定的過程,經過遍歷所有的基本流和備用流來完成整個場景。 個人總結:設計
軟體開發中的詳細設計
比如一個積分兌換系統實現使用積分可以兌換話費功能。此時我們會想到使用設計模式中的策略模式,以便支援各種規則的兌換。但是當前第一版的需求只是兌換話費,現在引入策略模式會增加程式碼的複雜性,是不值得的。
using在C#中的強制資源清理的用法,何時用using,何時用try
using 在C#中除了引用名稱空間和為名稱空間建立別名外,它還可以用做強制資源清理,方法如下: using (SqlConnection connection = new SqlConnection(connectionString)) { PrepareCom
列出幾種軟體開發中常見的設計模式並解釋
設計模式主要分三個型別:建立型、結構型和行為型。 其中建立型有: 一、Singleton,單例模式:保證一個類只有一個例項,並提供一個訪問它的全域性訪問點 二、Abstract Factory,抽象工廠:提供一個建立一系列相關或相互依賴物件的介面
PC軟體開發中BC/S設計架構的實現
公司現有專案是C/S結構,客戶端採用Qt進行的開發,已經開發維護近10年,結構穩定成熟。現開發一個新的專案,主要的功能需求一致,只是展示方式需要重新設計實現。公司傾向於向B/S方向轉變,新專案直接採用B/S開發,所有功能模組都需要重新設計實現,週期比較長,成本比較大。
【設計原則】軟體開發中的原則
本文轉自:http://www.cnblogs.com/pengdai/p/9151800.html在軟體開發中,前人對軟體系統的設計和開發總結了一些原則和模式, 不管用什麼語言做開發,都將對我們系統設計和開發提供指導意義。本文主要將總結這些常見的原則,和具體闡述意義。 --
軟體介面設計中的版本相容問題處理
最近在專案中經常遇到軟體版本升級後不相容舊版本的問題,本文根據以往經驗,從軟體介面設計、實現等方面整理了一些相容性設計思路。1. 優化設計1)介面返回值的定義有的人喜歡用0、1等較小的數字標記返回碼或其他一些常量含義,比如我接觸過幾個專案,使用整型常量0作為成功的返回碼
軟體設計的哲學:第十三章 註釋應該描述程式碼中隱藏的內容
目錄 13.1 選擇約定 13.2 不要重複程式碼 13.3 低階註釋增加了精確性 13.4 更高層次的註釋增強直覺 13.5 介面文件 13.6 建議:什麼和為什麼,而不是如