国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

設(shè)計模式-工廠方法模式

2019-11-14 10:59:34
字體:
供稿:網(wǎng)友
工廠模式提供創(chuàng)建對象的接口,是最常用的設(shè)計模式。本實例-旅游 根據(jù)工廠模式的分類不同,介紹工廠模式之二的工廠方式模式的使用方法及使用規(guī)則。實現(xiàn)工廠方法模式的技術(shù)要點如下:1.工廠方法模式去掉了簡單工廠模式中工廠方法的靜態(tài)屬性,使得它可以被子類繼承。這樣在簡單工廠模式里集中在工廠方法上的壓力可以由工廠方法模式了不同的工廠子類    來分擔(dān)。2.工廠方法模式由抽象工廠角色、具體工廠角色、抽象產(chǎn)品角色和具體產(chǎn)品角色組成。3.抽象工廠角色是工廠方法模式的核心,它與應(yīng)用程序五官,是具體工廠角色必須實現(xiàn)的接口或者必須繼承的父類,它由抽象類或者接口來實現(xiàn)。4.具體工廠角色含有與具體業(yè)務(wù)邏輯有關(guān)的代碼,由應(yīng)用程序調(diào)用以創(chuàng)建對應(yīng)的具體產(chǎn)品的對象。5.抽象產(chǎn)品角色是具體產(chǎn)品繼承的父類或者是實現(xiàn)的接口,一般由抽象類或者接口來實現(xiàn)。6.具體產(chǎn)品角色由具體的類來實現(xiàn)。

源代碼

package Pattern;interface Tour{ //旅游類	public void visit(); //旅游方式}interface Visit{	public Tour visitStyle();//具體的旅游方式}class GoAbroad implements Tour {//出國旅游   接口的實現(xiàn)類	public void visit(){//實現(xiàn)接口的方法		System.out.PRintln("咱們?nèi)怏H友 吧!");	}}class Hangzhou implements Tour {  //杭州旅游  接口的實現(xiàn)類	public void visit(){		System.out.println("杭州風(fēng)景優(yōu)美,咱去那吧!");	}}class Home implements Tour {//在家  接口的實現(xiàn)類	public void visit(){		System.out.println("哎,沒有錢哪也去不了!");	}}class GoAbroadVisit implements Visit {//返回出國旅游對象 調(diào)用實現(xiàn)類的工廠類	public Tour visitStyle(){		return new GoAbroad();	}}class HangZhouVisit implements Visit {//返回杭州旅游對象 調(diào)用實現(xiàn)類的工廠類	public Tour visitStyle(){		return new Hangzhou();	}}class HomeVisit implements Visit {//返回在家對象 調(diào)用實現(xiàn)類的工廠類	public Tour visitStyle(){		return new Home();	}}public class TextMethodFactory {	public static void main(String[] args) {		try {			Visit visit=new HangZhouVisit();  //接口變量引用實現(xiàn)類對象			Tour tour=visit.visitStyle();  //調(diào)用方法返回旅游實例			System.out.println("今年咱們?nèi)ツ膬郝糜窝剑?quot;);			tour.visit();//調(diào)用方法獲得旅游方式		} catch (Exception e) {			System.out.println("今年旅游計劃取消?");		} finally{			System.out.println("..........");		}	}}

源程序解讀1.程序中定義兩個接口Tour、Visit,三個接口的實現(xiàn)類GoAbroad、Hangzhou、Home以及三個調(diào)用實現(xiàn)類的工廠類GoAbroadVisit、HangZhouVisit、HomeVisit2.可以看出使用工廠方法模式,使得對象的數(shù)量成倍增長。當旅游對象即接口的實現(xiàn)類非常多時,會出現(xiàn)大量的與之相應(yīng)的工廠對象,這樣成對的增長,又會使得代碼的編寫變得繁雜類似于旅游這種情況,當使用工廠方法模式變得比較繁雜時,可以考慮使用簡單工廠模式
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 容城县| 阳原县| 永昌县| 县级市| 松桃| 什邡市| 石台县| 綦江县| 襄垣县| 新沂市| 栖霞市| 汶上县| 万安县| 临沭县| 济源市| 丹东市| 比如县| 连城县| 柳林县| 牟定县| 东丰县| 西城区| 登封市| 娄底市| 长白| 九龙城区| 浦县| 成安县| 江阴市| 左云县| 冀州市| 西盟| 七台河市| 五大连池市| 紫云| 信阳市| 那曲县| 威宁| 南开区| 德江县| 石河子市|