1. 程式人生 > >JAVA設計模式---工廠模式理解

JAVA設計模式---工廠模式理解

前言

多年的java經驗,說句實話並沒有刻意的去看設計模式相關的東西,但是設計模式相關的應用就在實際應用中,比如hibernate中connection的獲取,根據不同的properties的配置內容,不同的引數,從而獲取不同的connection,並且呼叫connection相關方法對DB進行操作。這就是一個工廠模式的場景。看了很多工廠模式的帖子,大部分都是賓士,寶馬[笑CRY]。不講太多,只說一下自己對於工廠模式的理解,或許只是一小部分,畢竟沒有應用到實處,歡迎拍磚。

工廠模式的特點

1-多型的表現,解耦的表現
2-便於維護,增強程式碼邏輯的可擴充套件性,統一了邏輯,減少了邏輯應用程式碼中new例項的操作
3-“工廠生產的具體產品”維護新增時,需要對工廠模式設計做出相應的邏輯變更

案例闡述

標準為:不同鍵盤廠商的click,共同的操作為click,區別為不同的鍵盤品牌,在實際邏輯應用中,需要new不同的鍵盤例項,在更新維護中更是需要維護相應的邏輯。本文以魔力鴨和cherry兩種鍵盤品牌,同一種click操作來簡單闡述博主對於工廠模式的理解

案例程式碼

//共同的產品,鍵盤介面
public interface Keyboard {
    //共同的點選操作click
    public void click();
}


//cherry鍵盤實現類
public class CheeryKeyboard implements Keyboard {
    //cherry鍵盤實現方法
@Override public void click() { System.out.println("this is cheery keyboard click..."); } } //魔力鴨實現類 public class DuckyKeyboard implements Keyboard { @Override public void click() { System.out.println("this is ducky keyboard click..."); } } //簡單的工廠類實現 public class
KeyBoardFactory {
public static Keyboard KeyboardInstance(String brandName){ if(brandName.equals("cheery")){ //獲取cheery鍵盤 CheeryKeyboard cheeryKeyboard = new CheeryKeyboard(); return cheeryKeyboard; }else if(brandName.equals("ducky")){ DuckyKeyboard duckyKeyboard = new DuckyKeyboard(); return duckyKeyboard; } return null; } public static void main(String[] args) { Keyboard cheerykey = KeyBoardFactory.KeyboardInstance("cheery"); cheerykey.click(); } }

應用場景

統一的標準,不同的具體實現,公用模組性強,需要維護性強的類

相關推薦

JAVA設計模式---工廠模式理解

前言 多年的java經驗,說句實話並沒有刻意的去看設計模式相關的東西,但是設計模式相關的應用就在實際應用中,比如hibernate中connection的獲取,根據不同的properties的配置內容,不同的引數,從而獲取不同的connection,並且呼叫c

Java設計模式工廠模式

做的 uml圖 blog 女人 類實例化 全部 抽象 src 針對 -------------------------------------------------------- 目錄:    一、序言   二、簡單工廠模式   三、工廠方法模式   四、簡單工

java設計模式工廠模式

其他 抽象工廠 如同 lan 相關 efault factor 依賴對象 代碼 一、工廠模式主要是為創建對象提供過渡接口,以便將創建對象的具體過程屏蔽隔離起來,達到提高靈活性的目的。 工廠模式在《Java與模式》中分為三類:1)簡單工廠模式(Simple Factory):

java設計模式-工廠模式(springweb為例子)

core puts 臃腫 設計 需要 utm 實現 reat jar 一般而言,工廠模式分為3種,簡單工廠模式,工廠方法模式,抽象工廠模式。這三種工廠模式逐層深入吧。 一,從springWeb.jar包使用抽象工廠模式的一個例子聊起 之前對spring各種癡迷,所以在需要發

java 之 抽象工廠模式(大話設計模式

out 簡單 ges 關系 logs 只需要 切換 ima .get 看了幾次抽象工廠模式,每次查看都需要重新理解一次,可能是涉及的類和接口比較多,所以比較難縷清的關系吧!在筆者看來,我們還是要吸取其思想而不是生搬硬套。 來看下類圖: 大話設計模式-類圖 看類圖已經很亂了

JAVA 23種設計模式---工廠模式(簡單工廠模式)

寫在前面的話: java常用的設計模式有23種,設計模式就是為了重用程式碼、解耦、讓程式碼更容易讓他人理解、保證程式碼可靠性 設計模式遵循的原則有6個: 1、開閉原則(Open Close Principle)   對擴充套件開放,對修改關閉。 2、里氏代換原則(Liskov S

JAVA 23種設計設計模式---工廠模式工廠方法)

設計模式中的工廠模式可大致分為3個,簡單工廠、工廠方法、抽象工廠。 今天整理的是工廠方法模式,介紹如下: 案列結構如下: 程式碼結構如下:   卡車: package com.zxf.method; //卡車(介面) public interfac

Java設計模式-簡單工廠模式/工廠模式/抽象工廠模式

目錄 簡單工廠模式 工廠模式 抽象工廠模式 上述程式碼 GitHub 地址:https://github.com/baicun/designPatterns 共同點:建立一個類,對同樣操作的方法介面進行封裝,類似工廠管理生產線等情形。 優點:方便管理,易於拓展。 應用

Java設計模式——工廠模式

1. 什麼是工廠模式 工廠模式(Factory Pattern)是 Java 中最常用的設計模式之一,它提供了一種建立物件的最佳方式。 在工廠模式中,我們在建立物件時不會對客戶端暴露建立邏輯,並且是通過使用一個共同的介面來指向新建立的物件。 優點: 一個呼叫

[Java] [設計模式] [ 工廠模式 ]

分類 工廠模式主要是為建立物件提供過渡介面,以便將建立物件的具體過程遮蔽隔離起來,達到提高靈活性的目的。 工廠模式可以分為三類: 1)簡單工廠模式(Simple Factory) 2)工廠方法模式(Factory Method) 3)抽象工廠模式(Abstrac

JAVA 23種設計設計模式---工廠模式

寫在前面的話: java常用的設計模式有23種,設計模式就是為了重用程式碼、解耦、讓程式碼更容易讓他人理解、保證程式碼可靠性 設計模式遵循的原則有6個: 1、開閉原則(Open Close Principle)   對擴充套件開放,對修改關閉。 2、里氏代換原則(L

JAVA 23種設計設計模式---工廠模式(抽象工廠模式

抽象工廠模式統稱為工廠模式,一搬說工廠模式時都指的是抽象工廠模式。 介紹如下: 案列結構: 程式碼結構: 轎車: package com.zxf.absfactory; //轎車抽象 public interface Sedan {     //啟動轎車

java設計模式(二) 建立型模式 工廠模式 (簡單工廠工廠方法,抽象工廠)

1.簡單工廠    定義:簡單工廠模式又 叫靜態工廠方法模式(Static FactoryMethod Pattern),是通過專門定義一個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。   2.工廠方法    定義:定

設計模式(二)--- java中的工廠模式

工廠模式 簡單工廠模式是屬於建立型模式,又叫做靜態工廠方法(Static Factory Method)模式,但不屬於23種GOF設計模式之一。簡單工廠模式是由一個工廠物件決定創建出哪一種產品類的例項。簡單工廠模式是工廠模式家族中最簡單實用的模式,可以理解為是不同工廠模式的一個特殊實現。

java設計模式--工廠模式

1.工程模式定義 這種型別的設計模式屬於建立型模式,它提供了一種建立物件的最佳方式。 在工廠模式中,我們在建立物件時不會對客戶端暴露建立邏輯,並且是通過使用一個共同的介面來指向新建立的物件。 一個用於建立物件的介面,讓子類決定例項化哪一個類。工廠方法使一個類的例項化延伸

Java 設計模式工廠模式(三種方式)

  來看下它的組成:        1)抽象工廠角色: 這是工廠方法模式的核心,它與應用程式無關。是具體工廠角色必須實現的介面或者必須繼承的父類。在java中它由抽象類或者介面來實現。        2)具體工廠角色:它含有和具體業務邏輯有關的程式碼。由應用程式呼叫以建立對應的具體產品的物件。      

java設計模式-工廠模式

null 簡單工廠 輸出 reat 簡單 static style .com system 工廠模式種類 工廠模式可以分為三類:簡單工廠模式,工廠方法模式以及抽象工廠模式。 簡單工廠模式 簡單工廠模式又稱為靜態工廠方法模式,為何稱為靜態工廠方法模式呢?是因為該模式主要由一個

大話設計模式java版--簡單工廠模式

剛剛學習了系統分析與設計,發現設計模式真的是個好東西。因此看了下好久之前買的《大話設計模式》,因此總結下最近的學習的設計模式,廢話到此結束。 這裡的程式碼跟書上的差不多,但書上的是C#版的,這裡我自己重新寫的是Java的。。。。其實都差不多,好不好 現在就簡單說說簡單工廠模

JAVA的23種設計模式---工廠模式

概要: 該文章參考了《設計模式之禪》一書及一些前輩的部落格文章 1.該文章闡述了工廠模式的原理及展示了工廠模式的通用模板; 2.該文章適合初學設計模式的技術人員研習; 3.該文章有許多不足之處,請各位大咖指正,噴子繞道; 正文: 1.基礎工廠模式

Java設計模式----工廠模式

系統 數據庫管理 類繼承 and color 構造方法 nts 客戶端代碼 inf 相信大家和我一樣,在實際開發應用過程中,很難看代碼中有直接new對象的情況,在一開始,也會被前輩告誡,盡量不要使用new來構造對象,盡量使用工廠方法獲取對象雲雲。但是,我相信很多人和我一樣,