java三種工廠模式 簡單工廠 工廠方法 抽象工廠

2021-08-21 08:48:17 字數 2957 閱讀 3643

**:

public

class computer else

if("-".equals(countquato))else

if("*".equals(countquato))else

if("/".equals(countquato))

}

public

abstract

class

operation

//把符號都當做物件處理,實現此介面

public

class

addoperation

extends

operation

}public

class

suboperation

extends

operation

}public

class

muloperation

extends

operation

}public

class

divoperation

extends

operation

}//接下來需要解決的就是物件的建立問題了,既如何根據不同的情況建立不同的物件:我們正好可以通過簡單工廠模式實現

public

class

operationfactory

return o;

}}//呼叫:

public

class

computer

private

static

float

count(float firstnum,float secondnum , string countquota)

}

//定義上級工廠的介面

public

inte***ce

ifractory

//為每乙個類建立工廠

/** * 工廠方法 為每個物件生成乙個工廠類

*/public

class

addoperationfactory

implements

ifractory

}public

class

suboperationfactory

implements

ifractory

}public

class

muloperationfactory

implements

ifractory

}public

class

divoperationfactory

implements

ifractory

}//客戶端**

ifractory fractory = new addoperationfactory();

operation operation = fractory.generateoper();

operation.getresult(firstnum,secondnum);

public

inte***ce

ifacfory

public

inte***ce

iuser

public

inte***ce

idepartment

public

class

sqlserveruser

implements

iuser

@override

public

void

getbyid()

}public

class

sqlserverdepartment

implements

idepartment

@override

public

void

getdepartmentbyid()

}public

class

accessuser

implements

iuser

@override

public

void

getbyid()

}public

class

accessdepartment

implements

idepartment

@override

public

void

getdepartmentbyid()

}//不同產品組使用乙個工廠

public

class

sqlserve***ctory

implements

ifacfory

@override

public idepartment createdepartment()

}public

class

accessfactory

implements

ifacfory

@override

public idepartment createdepartment()

}客戶端:

ifacfory facfory = new accessfactory();

iuser user = facfory.createuser();

idepartment department = facfory.createdepartment();

user.insert();

user.getbyid();

department.insert();

department.getdepartmentbyid();

Java三種工廠設計模式

乙個栗子 我喜歡吃麵條,抽象 乙個麵條基類 介面也可以 這是產品的抽象類。public abstract class inoodles 程式設計師加班必備也要吃泡麵 具體的產品類 public class paonoodles extends inoodles還有我最愛吃的家鄉的幹扣面 具體的產品類...

java設計模式 三種工廠模式

工廠模式提供建立物件的介面。工廠模式分為三類 簡單工廠模式 factory 工廠方法模式 factory method 和抽象工廠模式 abstract factory gof在 設計模式 中將工廠模式分為兩類 工廠方法模式 factory method 和抽象工廠模式 abstract facto...

三種工廠模式

本文介紹設計模式中的工廠模式。工廠模式,顧名思義,就是本來我們需要某樣東西,需要自己造,可有了工廠呢?我需要該東西時,只需告訴工廠,工廠就會生產該東西,一定程度上,把使用者和生產者分開了。解耦了。追本溯源,假設我們現在有乙個類a,類a裡需要類b的乙個物件,一般的處理是這樣,b b new b 但這樣...