抽象工廠模組在開發中的應用

2021-09-22 13:36:41 字數 2412 閱讀 5306

抽象工廠是設計模組中建立型模式的一種,它比起工廠方法模式來說,更加具有一般性,在本模式中會引入乙個產品族的概念,就是說,在本模式中抽象產品會有多個,然後用抽象工廠去呼叫它們,具體怎麼去呼叫由具體工廠來實現。

看下列**,主要實現動態生成按鈕和彈出視窗的功能,彈出視窗可以根據瀏覽器的型別去呼叫適合

自己的方法,按鈕也可以根據傳入的樣式和型別去自動生成按鈕。

class program
}
#region windowopen的抽象產品和具體產品
public

abstract

class windowopen

protected

string title

public

abstract

string tohtml(string url);

}
public

class iewindowopen : windowopen

public

override

string tohtml(string url)

','')", url);
}
}
public

class firefoxwindowopen : windowopen

public

override

string tohtml(string url)

','')", url);
}
}
#endregion
#region button的抽象產品和具體產品
///
/// 按鈕型別
/// 

public

enum buttontype

public

abstract

class button

protected

string classname

public

abstract

string tohtml(buttontype buttontype, string id);

}
public

class redbutton : button

public

override

string tohtml(buttontype buttontype, string id)

}
public

class greenbutton : button

public

override

string tohtml(buttontype buttontype, string id)

}
#endregion
#region 抽象工廠和具體工廠
public

abstract

class factory

public

class greenfactory : factory

public

override windowopen createwindowopen()

}
public

class redfactory : factory

public

override windowopen createwindowopen()

}
#endregion
#region 應用環境
public

class runenvironment

public button button
public runenvironment(factory factory)
}
#endregion

看到上面**後,如果我們想為按鈕加乙個黃色的樣式,我要示從button類派生乙個子類,去實現

黃色樣式功能就可以了,而不需要修改已有的**,這也很好的符合的「開閉原則(ocp)」

抽象工廠模組在開發中的應用

工廠方法模式在開發中的應用

事件是這樣的,我的每個頁面都有一些屬性,我拿其中乙個屬性pagetitle為例,它是乙個arraylist 它是頁面標題導航的意思,就是說它的標題用來儲存一些標題導航,比如,產品列表頁,它的pagetitle可能被解釋為 我的 產品 產品列表,而其它頁面的標題導航的表現形式也大同小異。了解的領域模式...

Android開發中抽象工廠模式

模式解讀 abstract 是 抽象 factory 是 工廠 所以合起來abstract factory 就是 抽象工廠 的意思。abstract factory pattern 中的抽象工廠則是把各種抽象零件合成抽象產品。換句話說,處理的重點是在介面 api 而不是零件的具體實現。只利用介面 a...

工廠模式在js中的應用

1.用ajax技術進行非同步請求是現在web開發中常見的乙個任務。簡單的工廠非常適合這種場合,根據瀏覽器能力不同生成乙個 xmlhttprequest或者actionxobject var handler function handle.prototype xhr.open method,url,t...