活字印刷引入簡單工廠模式

2021-06-27 02:56:40 字數 987 閱讀 1632

中國的有四大發明:火藥、造紙、指南針 、活字印刷。這個地方活字印刷技術促進了人類文化的傳播。我們不談這些。這給我們將設計模式有啥關係?第一,如果我們在排版字中有乙個地方錯誤,我們可以直接將錯誤的地方進行替換。這個體現了可維護性;第二,我們排版字印刷完成後,我們可以把這些單個的儲存好,以便下次的時候可以用,這個體現了可復用性;第三,活字印刷進行排版的時候,我們可以橫著 或者豎著,這個體現了靈活性。活字印刷真不愧為四大發明之一。

為什麼我們的**中要引入物件導向的思維和設計模式。我們引入物件導向的封裝、繼承、多型可以使我們我們的程式降低耦合度(一般我們在設計**的時候,盡量考慮高內聚、低耦合)。引進設計模式可以是我們的**變更靈活。不會因客戶的需求變化,而改動量很大。

好了,步入主題。什麼是簡單工廠模式?舉個例子:我們的小賣部。我們需要買花生、瓜子、飲料,直接到小賣部就可以了;我們需要什麼說出我們需求,而小賣部就給我們什麼。至少這個花生、瓜子、飲料 它們又是個單獨的類了;這個就是我們的簡單工程模式。如果說我們增加需求買玩具,那麼小賣部進貨玩具;我們就直接到小賣部就可以買到。這就是我們的簡單工廠模式。實際在**中如何應用呢?我們以我們的運算加、減、乗、除為例:

運算類只是個抽象類,用於其他具體的類進行繼承使用;我們的具體類(加法類、減法類、乘法類、除法類)當中的getresult方法實現對應的操作。簡單的工程類的createoperation方法實際上就是根據我們客戶端的需要建立對應的具體類;例如:我傳入「+」符合,那麼就建立乙個加法類的實際物件例項並返回給客戶端;當我們需要增加新的具體類(如開根號演算法),我們只需要繼承抽象類(運算類)並在具體的getresult方法中,去實現具體的方法就可以了;我們不需要改動原來的**。呵呵,不知不覺我們用到了設計原則,開放封閉原則(對擴充套件開發,對修改關閉)。您們看,我們的即使從pc客戶端,移動到  pda 運算本身不會變化,只是介面需要重新開發就可以了,更體現了我們**的復用性。

活字印刷引入簡單工廠模式

中國的有四大發明 火藥 造紙 指南針 活字印刷。這個地方活字印刷技術促進了人類文化的傳播。我們不談這些。這給我們將設計模式有啥關係?第一,如果我們在排版字中有乙個地方錯誤,我們可以直接將錯誤的地方進行替換。這個體現了可維護性 第二,我們排版字印刷完成後,我們可以把這些單個的儲存好,以便下次的時候可以...

1079 活字印刷

題目描述 你有一套活字字模 tiles,其中每個字模上都刻有乙個字母 tiles i 返回你可以印出的非空字母序列的數目。注意 本題中,每個活字字模只能使用一次。示例 1 輸入 aab 輸出 8 解釋 可能的序列為 a b aa ab ba aab aba baa 示例 2 輸入 aaabbc 輸出...

問題 H 活字印刷

題目描述 活字印刷術是中國古代四大發明之一,今天我們要試著用計算機實現乙個 活字印刷術 現在輸入乙個字串s,代表一套活字字模,其中每個字模上都刻有乙個字母 s i 輸出你可以印出的非空字母序列的數目。輸入輸入資料由多組測試資料組成。每組測試資料第一行輸入乙個字串s 1 s.length 10 s中所...