日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

學習簡單工廠模式

系統 2029 0

初識這個詞語,并不知道他說的是什么,而將這一章看完之后,才初步了解到什么是簡單工廠模式,以及為什么會出現這種模式,下面先看看什么是簡單工廠模式吧:

***********************************************************************************簡單工廠模式***********************************************************************************

從設計模式的類型上來說,簡單工廠模式是屬于創建型模式,又叫做靜態工廠方法(StaticFactory Method)模式,但不屬于23種GOF設計模式之一。簡單工廠模式是由一個工廠對象決定創建出哪一種產品類的實例。簡單工廠模式是工廠模式家族中最簡單實用的模式,可以理解為是不同工廠模式的一個特殊實現。

簡單工廠模式的UML類圖

學習簡單工廠模式

簡單工廠模式的實質是由一個工廠類根據傳入的參數,動態決定應該創建哪一個產品類(這些產品類繼承自一個父類或接口)的實例。

該模式中包含的角色及其職責

工廠(Creator)角色

  簡單工廠模式的核心,它負責實現創建所有實例的內部邏輯。工廠類可以被外界直接調用,創建所需的產品對象。

抽象產品(Product)角色

  簡單工廠模式所創建的所有對象的父類,它負責描述所有實例所共有的公共接口。

具體產品(Concrete Product)角色

是簡單工廠模式的創建目標,所有創建的對象都是充當這個角色的某個具體類的實例。

************************************************************************************************************************************************************************************

在對簡單工廠模式有了一定的了解之后,下面談談在學習這一章的過程中問題及感受:

起初是小菜面試時遇到了一道編程題,要求是“請用C++、Java、C#或VB.NET任意一種面向對象語言實現一個計算器控制臺程序,要求輸入兩個數和運算符號,得到結果。”在看了這道題之后,我想了好一會,自我感覺憑我現在的能力,來實現這個程序似乎可以說不可能,這其中涉及到好多的算法,并且我對面向對象還沒有徹底的掌握,一個字:難!

在看到小菜編的程序之后,我還是挺佩服的,對于我這個初學C#的“小小菜”起碼不可能這么快的編出來。看看小菜編的代碼吧,著實發現了好多問題:

1.代碼中的變量命名并不規范,沒有統一的標準;

2.在判斷語句上多次重復,使得計算機做了多次的無用功;

3.除法運算中沒有考慮到除數為0時的情況;

4.用戶輸入的數字、字符沒有限制;

5.可擴展性差,代碼不能多次復用等。

在大鳥的指導下,小菜不斷的更新著代碼,將冗余的、無用的代碼排除掉,并將業務邏輯和界面邏輯分開,讓他們之間的耦合度下降,只有分離開,才可以達到容易維護或擴展。而后,大鳥還指導小菜怎樣利用面向對象來設計這個控制臺程序,從封裝、繼承、多態方面逐一介紹,從而由最單一的只能實現功能的一大段冗余代碼,進化為將加減乘除類均分開的繼承運算類,他們均是繼承Operation運算類的各個子類。然而,在利用簡單工廠模式之后,只需要輸入運算符號,工廠就實例化出合適的對象,通過多態,返回父類的方式實現了計算器的結果。這樣,將來不管是增加功能,還是修改功能,都不會影響其他的體系。

嘖嘖,這次又學到了不少的知識,努力中…


學習簡單工廠模式


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 溧阳市| 定南县| 黄陵县| 卢湾区| 宜良县| 济宁市| 新昌县| 佛冈县| 临洮县| 宜宾市| 磐石市| 霍州市| 鸡西市| 花莲县| 西安市| 陆丰市| 高淳县| 华池县| 石门县| 涿州市| 平利县| 澄江县| 鸡东县| 栖霞市| 改则县| 海伦市| 灌云县| 木兰县| 巴东县| 璧山县| 涪陵区| 年辖:市辖区| 镇康县| 阆中市| 永春县| 黄山市| 仙游县| 嵊州市| 深州市| 玛多县| 峨边|