<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          程序設(shè)計神器 之 實體

          共 2011字,需瀏覽 5分鐘

           ·

          2021-02-11 08:31

          文 |?太陽雪

          來源:Python 技術(shù)「ID: pythonall」

          程序處理的是概念

          程序是什么?

          簡單說,程序是處理數(shù)據(jù)的計算機代碼

          幾乎所有的程序都可以分為三部分

          輸入--> 處理 --> 輸出

          程序可以理解成一個加工處理數(shù)據(jù)的過程,或者工具

          那么被加工的數(shù)據(jù)又是什么呢?

          數(shù)據(jù)有多種形式,如文本、圖像、音頻、視頻等等

          無論數(shù)據(jù)形式如何,都代表的是某種信息

          大部分信息,可以經(jīng)過數(shù)字化處理,變?yōu)橛嬎銠C里的數(shù)據(jù)

          那么信息又是什么呢?

          信息就是對某個事物、事情、現(xiàn)象的一種描述

          既然是描述,就意味著,其中包含了一些概念

          概念是我們思考、認識、交流的重要的元素

          如果理解了信息是由一些概念組成的,那么就能理解:

          程序處理的實際上是 概念

          再進一步,就能理解:

          計算機是人類大腦的延伸

          我們思考、認識、交流都是基于某些概念的,而且教育的主要就是關(guān)于抽象概念的

          概念就是實體

          概念表示某種具體或者抽象的事物

          任何一個事物,都具有某種特性或者屬性

          比如一個人,具有性別、年齡、膚色、國籍等一系列屬性

          再比如一個課程,具有名稱、級別、課時、授課老師等一系列屬性

          再比如一張圖片,具有大小、尺寸、名稱、存放位置等一系列屬性

          看到了嗎,對這些概念的進一步分析,獲取到其中的各種屬性,就能得到這個概念在程序里的表示形式

          一個概念在程序里的表現(xiàn)形式就是實體

          實體,就就是建立現(xiàn)實世界和計算機世界之間的聯(lián)系的

          現(xiàn)實世界里,各個東西都是概念,計算機世界里各種東西都是實體

          概念和實體之間是可以相互表示的

          前面我們知道了,程序處理的就是概念,那么將概念表示為實體,就可以編寫為程序了

          實體之間的關(guān)系

          概念之間是有聯(lián)系的,同樣,實體之間也是有聯(lián)系的

          相對概念之間的聯(lián)系,實體之間的聯(lián)系更為簡單

          只有一對一,一對多,和多對多的聯(lián)系

          是不是感覺有點熟悉了,這不就是數(shù)據(jù)庫表之間的聯(lián)系嗎?

          沒錯,數(shù)據(jù)庫表實際上是用來存放概念的,比如存放人員信息,課程信息,圖片信息

          即它實際上存放的就是實體

          日常大多數(shù)程序,并不需要和數(shù)據(jù)庫打交道

          但并不意味著不和實體大交道

          數(shù)據(jù)庫只是存放實體的一種形式,并且實現(xiàn)了實體之間的一對一一對多的關(guān)系

          一對一,意味著,兩個實體之間是一一對應(yīng)的,比如每個人只有一個身份證(正常情況下),

          一對多,意味著,兩種實體之間具有包含的關(guān)系,比如一個家庭,由多個個人組成,或者一個學生可以同時選擇多們課程

          這種關(guān)聯(lián)關(guān)系,在程序中會被處理成順序處理,和循環(huán)處理

          實體的表示

          程序設(shè)計,需要像建筑圖紙一樣表示出來

          對于實體,應(yīng)該如何表示呢

          通過參考各種資料,特別是學習了 《系統(tǒng)分析與設(shè)計方法》,并結(jié)合工作實踐,我總結(jié)了一套表示實體的方法

          在不同的設(shè)計階段,需要用到不同的表示方式

          一般分為 概要實體詳細實體

          區(qū)別在于,概要實體不用關(guān)注實體的熟悉,而詳細實體,需要關(guān)注實體的屬性

          今天我們只討論概要實體

          概要實體用一個方框表示:

          實體

          方框里面寫實體的名稱

          實體之間的關(guān)系,用鏈接它們的線條表示

          實體關(guān)系

          線條兩端,需要特別注意,靠近外面的表示一或者多

          是一個小短線, 是三分叉

          靠近里面的小圈,表示 0 即可以不存在,小短線表示 1 即表示必須存在

          例如第一條線左端,讀作:有且有一個,右端讀作:有且有一個或者多個

          第二條線左端,讀作:沒有或僅有一個,右端讀作:沒有或者可以有多個

          第三第四咋讀,你可以試試吧,歡迎留言討論

          下面我們看一個實際的例子

          實體關(guān)系

          這幅圖,描繪了一個學校系統(tǒng)的基本結(jié)構(gòu),通過圖示,我們就能輕松的讀取它所傳遞的信息

          比如學校必須有一個或者多個班級,班級必須屬于一個學校,

          一個班級里可以沒有學生或者有多個學生

          一個學生可以不選或者選擇多個課程

          一個課程可能沒有學生選擇或者有多個學生選擇

          ……

          如果進一步展開,這些關(guān)系里實際上包含著業(yè)務(wù)規(guī)則,比如一個班級沒有任何學生的狀態(tài)可能是在開學前,還沒學生報名的時間點

          以及 不能存在一個沒有班級的學校 等等

          而不同的業(yè)務(wù)場景下,規(guī)則是不一樣的,所有實體圖,體現(xiàn)當前的業(yè)務(wù)場景,并不存在適應(yīng)所有場景的實體圖

          這就是實體關(guān)系圖,通過它不僅可以方便地記業(yè)務(wù)信息,而且還可以方便地交流

          總結(jié)

          今天我們梳理了程序設(shè)計中的實體部分,從程序處理的是什么開始,一直引導到程序處理的是概念這個觀點,概念不僅是我們認識世界的工具,也是我們做程序設(shè)計的基礎(chǔ),抓住了實體,就像抓住了程序的綱。

          比心!

          下次,會討論一下程序設(shè)計的另一個神器:數(shù)據(jù)流

          PS公號內(nèi)回復「Python」即可進入Python 新手學習交流群,一起 100 天計劃!


          老規(guī)矩,兄弟們還記得么,右下角的 “在看” 點一下,如果感覺文章內(nèi)容不錯的話,記得分享朋友圈讓更多的人知道!

          代碼獲取方式

          識別文末二維碼,回復:1024

          瀏覽 33
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日本不卡无码视频 | 精品久久ai电影 九九精品在线观看 | 激情综合网激情五月天 | 粉嫩逼逼 | 欧美激情亚洲五码 |