四色原型的學習心得分享

2021-09-23 19:07:02 字數 2629 閱讀 1925

在討論四色原型之前,我想先狗膽討論下什麼是我所認識的「世界」?

我覺得世界由物質及其相互作用組成。「物質」是不以人的意識為轉移的客觀存在;而「相互作用」則是我們平時所理解的各種活動,比如人與人之間的交談,打架,等等。還有一點需要特別分析一下,那就是「何為客觀」?我覺得客觀是乙個相對的概念,可以這樣簡單的理解:如果a沒有修改b的權利,也就是說b不以a的意識為轉移,則認為b是a的客觀存在;反之,則認為b不是a的客觀存在。

舉個例子,一家軟體公司為一家金融機構做乙個金融領域的軟體。該金融軟體需要滿足一些和金融領域相關的一些業務規則。那麼業務規則相對於這家軟體公司來說是否是乙個客觀存在呢?回答是肯定的。為什麼,因為這家軟體公司無法修改該業務規則,也就是說,金融行業的業務規則是不以軟體公司的意識為轉移的;那麼金融行業的業務規則在任何情況下就一定是客觀存在了嗎?不是!因為金融行業的業務規則是由全人類想出來的,只要全人類說我們要修改這個業務規則,那它就可以被修改,也就是說金融行業的業務規則相對於全人類來說是主觀的,而不是客觀的。因為全人類可以修改該業務規則。 

四色原型是什麼?我覺得它是幫助我們分析物質世界中各種活動的一種科學的方**。關於什麼是物質世界我上面已經討論過了,下面看看我所理解的四色原型是什麼樣子的:

1. 時刻-時間段原型(moment-interval archetype)

表示在某個時刻或某一段時間內發生的某個活動。使用粉紅色表示,簡寫為mi。

2. 參與方-地點-物品原型(part-place-thing archetype)

表示參與某個活動的人或物,地點則是活動的發生地。使用綠色表示。簡寫為ppt。

3. 描述原型(description archetype)

表示對ppt的本質描述。它不是ppt的分類!description是從ppt抽象出來的不變的共性的屬性的集合。使用藍色表示,簡寫為desc。

舉個例子,有乙個人叫張三,如果某個外星人問你張三是什麼?你會怎麼說?可能會說,張三是個人,但是外星人不知道「人」是什麼。然後你會怎麼辦?你就會說:張三是個由乙個頭、兩隻手、兩隻腳,以及乙個身體組成的客觀存在。雖然這時外星人仍然不知道人是什麼,但我已經可以借用這個例子向大家說明什麼是「description」了。在這個例子中,張三就是乙個ppt,而「由乙個頭、兩隻手、兩隻腳,以及乙個身體組成的客觀存在」就是對張三的description,頭、手、腳、身體則是人的本質的不變的共性的屬性的集合。但我們人模擬較聰明,很會抽象總結和命名,已經把這個description用乙個字來代替了,那就是「人」。所以就有所謂的張三是人的說法。

4. 角色原型(role archetype)

角色就是我們平時所理解的「身份」。使用黃色表示,簡寫為role。為什麼會有角色這個概念?因為有些活動,只允許具有特定角色(身份)的ppt(參與者)才能參與該活動。比如乙個人只有具有教師的角色才能上課(一種活動);乙個人只有是乙個合法公民才能參與選舉和被選舉;但是有些活動也是不需要角色的,比如乙個人不需要具備任何角色就可以睡覺(一種活動)。當然,其實說人不需要角色就能睡覺也是錯誤的,錯在**?因為我們可以這樣理解:乙個客觀存在只要具有「人」的角色就能睡覺,其實這時候,我們已經把desc當作角色來看待了。所以,其實角色這個概念是非常廣的,不能用我們平時所理解的狹義的「身份」來理解,因為「教師」、「合法公民」、「人」都可以被作為角色來看待。因此,應該這樣說:任何乙個活動,都需要具有一定角色的參與者才能參與。

用一句話來概括四色原型就是:乙個什麼什麼樣的人或組織或物品以某種角色在某個時刻或某段時間內參與某個活動。 其中「什麼什麼樣的」就是desc,「人或組織或物品」就是ppt,「角色」就是role,而」某個時刻或某段時間內的某個活動"就

我覺得世界由很多的物質及其相互作用組成,而我們平時所說的軟體則是乙個由我們人類根據主觀意識設計出來的對乙個客觀世界的乙個虛擬對映。比如我們在做乙個圖書管理系統時,會分析需求,需求來自於客觀世界。我們會將需求分析的結果用**來實現。所以,我覺得因為世界由物質及其相互作用(即活動)組成;那麼需求就是由虛擬的物質(oo中的物件)和虛擬的物質之間的相互作用(oo中的物件之間的互動)組成。所以可以引導出:當我們要設計乙個軟體時,主要的任務就是要弄清楚該軟體由哪些物件組成,以及由哪些活動組成,並且重點應該是要分析出有哪些活動,一切設計的最原始需求都應該以為了完成某個活動為目標。那麼該如何來理解和分析這些活動呢?比如假設乙個圖書管理系統中有100個活動,只要實現了這100個活動,那這個系統就自然完成了。那麼如何用科學的方法來分析這些活動呢?答案之一就是我們可以用上面提到的四色原型的分析方法來分析。即我們總是可以用這樣的方法來分析每乙個活動:乙個什麼什麼樣的人或組織或物品以某種角色在某個時刻或某段時間內參與某個活動。

當我學習了四色原型後,雖然我不能確定它一定是科學的正確的認識世界的方**,但至少可以讓我在分析軟體需求時有一種可選擇的方法可以參考。而這已經夠了,因為之前我根本沒有任何方法可以參考。 接下來我準備學習dci架構,一旦學的差不多了之後,就會用這兩個新的**來分析和設計乙個論壇。分析論壇的業務邏輯用四色原型來做,而設計則用dci架構來做。相信這會是我近期的乙個正確的並且有意義的目標。

FPGA學習心得分享(二)

掌握一門程式語言的最好方法是漸進式刷題 verilog語法原則要注意乙個reg最好只在乙個always塊裡進行賦值操作 if else或case等條件選擇語句需要完備的條件,防止綜合出不必要的latch 關於 default和else的必要性 組合邏輯的case最好要有default,因為如果cas...

學習領域驅動之前的準備 「四色原型」

四色原型 時刻 時間段原型 moment interval archetype 某個時刻或某一段時間內發生的某個活動。使用粉紅色表示,簡寫為mi。例如 在消費者購買商品的場景中,乙個訂單就是消費者在某段時間發生的某個活動。當事人 地點 物品原型 party place thing archetype...

cocos2d x學習心得分享(二)

www.unitymanual.com 遊戲蠻牛 class helloworld public cocos2d cclayer 1.這是hello world的標頭檔案,裡面包含3個函式。2.create func 函式是cocos2d的乙個自動 機制,若不寫程式會報錯。ccscene hello...