前面講了物件導向的概念,相信大家對物件導向有了一定的認識,這裡我們再來嘮一嘮uml的前世今生
從20世紀70年代,隨著物件導向程式設計思想的興起,大家越來越發現原來以結構化的面向過程的分析設計方法沒辦法推導和指導物件導向程式設計,面向過程的分析設計還是第一步做什麼,第二步做什麼,但是物件導向卻是以看起來沒有太大關係的物件為中心,面向過程的連續性和過程化結構設計與事件驅動型的離散物件結構程式設計脫鉤,為了解決物件導向程式設計的分析與設計問題,一批物件導向的設計方法(ood)開始出現,比如booch86,good(通用物件導向開發),hood(層次化物件導向設計),oose(物件導向結構設計),這些方法雖然各不同,但是理念卻非常相似,為了方便使用和推廣,三位物件導向大師(booch, jacobson, rumbaugh)決定將各自的方法進行統一,在2023年10月推出「unified method」,後來提交到物件管理組織(omg),正式命名為「uml」,即unified modeling languange,uml就由此誕生了
1. 視覺化
uml用各類元模型(圖示)將各類資訊需求進行轉換,使得各種文字可見或者不可見的內容更便捷的展示和傳遞,使資訊接受者更容易接收理解,比如參與者(執行者)、用例圖、時序圖、狀態圖、類圖等等等等,下面是簡單的例子
2. 從現實世界到業務模型
uml通過人、事、物來抽象現實世界,人是一切的中心,人有需求,就會去做事情滿足需求,做事就會使用一些物,並產生一些物,同時遵循相應的社會規則,人驅動系統,做事體現過程,物記錄結果,規則是控制。通過定義人、事、物之間的規則,現實世界就可以建模起來了。uml通過執行者/參與者(actor,也就是上面那個小人)來代表現實世界的「人」。再通過用例來表示執行者想做什麼,有什麼需求,這個就是現實世界中的「事」(也就是上面圖中的橢圓),再通過用例場景和業務場景來描述做事的規則。最後,通過業務物件模型檢視(可以理解為乙個圖)來說明在做事的過程中涉及到的物,並定義他們之間的關係,這樣,人、事、物、規則就被模型化了
3. 從業務模型到概念模型
通過上面的業務模型,現實世界被模擬記錄下來了,但是還是指導不了程式設計的工作,需要將業務模型轉化成一種可以指導開發的表達方式,這個時候uml通過概念模型來建立適合計算機理解和實現的模型(也行分析模型),uml通過以下幾個元模型來進行概念模型建模:
ps:所謂的概念模型可以認為是建立計算機程式設計的概念
4. 從概念模型到設計模型
概念模型基本上描繪了物件導向程式設計所需要的物件組成了,在設計模型中,邊界類可以轉化成操作介面或者介面了,控制類可以轉化成計算機邏輯**,實體類可以理解為實體物件,資料表之類的
最後,用下面一張**釋uml分析設計是如何推導指導物件導向程式設計的
物件儲存的前世今生
那些沒有為資料庫或檔案系統寫過 的上了年紀的程式設計師應該不太可能讀到這篇文章。畢竟,一般商業應用程式訪問其他資料型別的模式已經存在超過40年了。因此,代表著第乙個主要的新型資料結構型別的物件儲存,它在兩代的時間裡對資料管理實踐產生了顯著影響。物件的實現始於上世紀90年代末,但多數是特殊應用。大規模...
「物件導向三大思想」產生的前世今生
眾所周知,物件導向三大思想 封裝,繼承,多型。但物件導向到底是怎麼產生的,產生他的原因是什麼呢?且聽我慢慢道來 很久以前,軟體開發的世界還是一片渾渾噩噩,不管開發什麼軟體都面臨著複雜性這個問題,裡面到處是goto語句,程式的流程隨意跳轉。眾生寫 時,越寫到後面越不知道自己寫的是什麼。這時候出現一位巨...
ai前世識別 AI 的前世與今生
最近跟朋友聊天,他身邊的人似乎都認為,人工智慧當下還只是處於乙個萌芽的階段,最多是下圍棋比較厲害,真的要改變他們的生活,還很遙遠。他們不會想到 接踵而來的智慧型新時代產物,已經能夠徹底實現傳統工業生產裝置 辦公 營銷等應用的全面智慧型公升級,以及實現組織創新 個體崛起和智慧型管理。那麼,你了解ai的...