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

首頁 > 學院 > 開發設計 > 正文

設計模式-工廠方法模式

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

源代碼

package Pattern;interface Tour{ //旅游類	public void visit(); //旅游方式}interface Visit{	public Tour visitStyle();//具體的旅游方式}class GoAbroad implements Tour {//出國旅游   接口的實現類	public void visit(){//實現接口的方法		System.out.PRintln("咱們去國外驢友 吧!");	}}class Hangzhou implements Tour {  //杭州旅游  接口的實現類	public void visit(){		System.out.println("杭州風景優美,咱去那吧!");	}}class Home implements Tour {//在家  接口的實現類	public void visit(){		System.out.println("哎,沒有錢哪也去不了!");	}}class GoAbroadVisit implements Visit {//返回出國旅游對象 調用實現類的工廠類	public Tour visitStyle(){		return new GoAbroad();	}}class HangZhouVisit implements Visit {//返回杭州旅游對象 調用實現類的工廠類	public Tour visitStyle(){		return new Hangzhou();	}}class HomeVisit implements Visit {//返回在家對象 調用實現類的工廠類	public Tour visitStyle(){		return new Home();	}}public class TextMethodFactory {	public static void main(String[] args) {		try {			Visit visit=new HangZhouVisit();  //接口變量引用實現類對象			Tour tour=visit.visitStyle();  //調用方法返回旅游實例			System.out.println("今年咱們去哪兒旅游呀?");			tour.visit();//調用方法獲得旅游方式		} catch (Exception e) {			System.out.println("今年旅游計劃取消?");		} finally{			System.out.println("..........");		}	}}

源程序解讀1.程序中定義兩個接口Tour、Visit,三個接口的實現類GoAbroad、Hangzhou、Home以及三個調用實現類的工廠類GoAbroadVisit、HangZhouVisit、HomeVisit2.可以看出使用工廠方法模式,使得對象的數量成倍增長。當旅游對象即接口的實現類非常多時,會出現大量的與之相應的工廠對象,這樣成對的增長,又會使得代碼的編寫變得繁雜類似于旅游這種情況,當使用工廠方法模式變得比較繁雜時,可以考慮使用簡單工廠模式
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 福安市| 吴忠市| 建德市| 邛崃市| 库尔勒市| 宁武县| 岑巩县| 连平县| 云南省| 漾濞| 交口县| 黄浦区| 沈阳市| 闽清县| 屯留县| 盘锦市| 弋阳县| 克山县| 宁化县| 瑞昌市| 伊通| 孙吴县| 胶南市| 张家界市| 循化| 岢岚县| 灌云县| 连城县| 罗山县| 罗定市| 萨迦县| 清涧县| 昭平县| 彭泽县| 乐安县| 澄城县| 连江县| 双峰县| 石河子市| 海伦市| 石林|