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

簡單工廠模式

目的是為了符合開發高內聚低耦合。

簡單工廠模式是類的創建模式,又叫做靜態工廠方法模式。簡單工廠模式由一個工廠對象決定生產出哪一種產品類的實例


代碼的耦合度太高,會使以后做維護的難度大大增加,所以我們要降低耦合度,這樣代碼模塊間

就分的很清楚,便于維護和閱讀。



下面是簡單工廠模式示例

代碼

創建一個水果的接口


package com.pp.Factory;

????public interface Fruit {

????//種植

????public void plant();

????//生長

????public void grow();

????//收獲

????public void harveset();

}



下面是兩個子類來遵從這個接口,實現里面的方法


public class Apple implements Fruit {

????@Override

????public void plant() {

????System.out.println("蘋果類重寫的種植方法");

????}

????@Override

????public void grow() {

????// TODO Auto-generated method stub

????System.out.println("蘋果類重寫的生長方法");

????}

????@Override

????public void harveset() {

????// TODO Auto-generated method stub

????System.out.println("蘋果類重寫的收獲方法");

????}

}



public class Banana implements Fruit {

????@Override

????public void plant() {

????// TODO Auto-generated method stub

????System.out.println("這是香蕉重寫的種植方法");

????}

????@Override

????public void grow() {

????// TODO Auto-generated method stub

????System.out.println("這是香蕉重寫的生長方法");

????}

????@Override

????public void harveset() {

????// TODO Auto-generated method stub

????System.out.println("這是香蕉重寫的收獲方法");

????}

}



然后再建一個管理水果的就是水果種植基地的老板之類的



public class Gardener {

????//獲取水果的方法

????public static Fruit getFruit(String fruit) {

????????if (fruit.equalsIgnoreCase("apple")) {

????????????return new Apple();

????????} else if(fruit.equalsIgnoreCase("banana")) {

???????????return new Banana();

????????} else {

????????????return null;

????????}

}

//想要什么水果就可以把參數寫成什么水果

public static void main(String[] args) {

????Fruit f = Gardener.getFruit("APPLE");

????f.grow();

????Fruit f2 = Gardener.getFruit("BANANA");

????f2.harveset();

????}

}



這樣寫程序,看著容易多了

1、用戶不自己去生產產品,只需要負責去拿自己需要的東西就好了,這樣用戶-->產品之間的耦合度就降低了

2、代碼模塊職責更明確了,有專門消費的模塊、有專門生產的模塊



這就是一個簡單工廠模式

這個代碼還能改進,以后再來寫。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,759評論 18 399
  • 簡單工廠模式是屬于創建型模式,又叫做靜態工廠方法(Static Factory Method)模式,但不屬于23種...
    夢想編織者灬小楠閱讀 1,283評論 3 2
  • Java設計模式-簡單工廠模式 簡單工廠模式(邏輯判斷) 對實現同一個接口的類,我們可以使用一個工廠類來封裝這些類...
    Sammy_ao閱讀 175評論 0 0
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,869評論 18 139
  • 人生中那些不了了之的關系,都在用過程訴說著過客的重要。 美好的東西永遠得不到,得到的東西往往就不再美好。曾在...
    逢清閱讀 600評論 0 2