java设计模式——工厂方法模式
生活随笔
收集整理的這篇文章主要介紹了
java设计模式——工厂方法模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
工廠方法模式:為工廠類定義了接口,使用多態來削弱工廠類的職責。
* 將簡單工廠創建對象的職責分擔到子工廠類中,子工廠相互獨立,互相不受影響。
* 工廠方法模式也有他的局限性,當面對有復雜的樹形結構的產品時,就必須為
* 每個產品創建一個對應的工廠類,當達到一定數量級就會出現類爆炸。
* 整體結構: 1.創建產品接口
* 2. 定義產品類去實現產品接口
* 3.定義(總)工廠接口,并在接口中定義創建產品工廠的方法(eg:create();)
* 4.定義子(產品)工廠類,并在create方法中返回產品。(即return new xxxProduct();)
* 5.在Main中根據工廠去創建不同的產品工廠。
實例:
package com.henu.factory;/*** @author George* @description 工廠方法模式:為工廠類定義了接口,使用多態來削弱工廠類的職責。* 將簡單工廠創建對象的職責分擔到子工廠類中,子工廠相互獨立,互相不受影響。* 工廠方法模式也有他的局限性,當面對有復雜的樹形結構的產品時,就必須為* 每個產品創建一個對應的工廠類,當達到一定數量級就會出現類爆炸。* 整體結構: 1.創建產品接口* 2. 定義產品類去實現產品接口* 3.定義(總)工廠接口,并在接口中定義創建產品工廠的方法(eg:create();)* 4.定義子(產品)工廠類,并在create方法中返回產品。(即return new xxxProduct();)* 5.在Main中根據工廠去創建不同的產品工廠。**/ public class TestFactoryMethodPattern {public static void main(String[] args) {//根據工廠去創建產品(即實例化對象)Factory factory = null;factory = new PhoneFactory();//創建手機factory.create();//創建電腦new ComputerFactory().create();}}//定義產品接口 interface Product{}//定義手機類 class Phone implements Product{//無參構造方法public Phone() {System.out.println("Phone被創建了!");} } //定義電腦類 class Computer implements Product{public Computer() {System.out.println("電腦被創建了!");} }//定義工廠接口 interface Factory{public Product create(); }//定義手機工廠 class PhoneFactory implements Factory{@Overridepublic Product create() {return new Phone();} } //定義電腦工廠 class ComputerFactory implements Factory{@Overridepublic Product create() {return new Computer();} }?
總結
以上是生活随笔為你收集整理的java设计模式——工厂方法模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hadoop 06_MapReduce2
- 下一篇: 异常处理——Another app is