工廠模式:
1.隱藏複雜的邏輯過程,只關心結果
分為:簡單工廠,工廠方法,抽象工廠
簡單工廠:
1.產品介面:
package com.gupaoedu.vip.factory;
//產品介面
//汽車需要滿足一定的標準
public inte***ce car
2.具體的產品:
package com.gupaoedu.vip.factory;
public class audi implements car
}
package com.gupaoedu.vip.factory;
public class benz implements car
}
package com.gupaoedu.vip.factory;
public class bmw implements car
}
3.簡單工廠
package com.gupaoedu.vip.factory.******;
import com.gupaoedu.vip.factory.audi;
import com.gupaoedu.vip.factory.benz;
import com.gupaoedu.vip.factory.bmw;
import com.gupaoedu.vip.factory.car;
//對於這個工廠來說(太強大了)
//為什麼?
//這個工廠啥都能幹(不符合現實)
//編碼也是一種藝術(融匯貫通),藝術**於生活,回歸到生活的
public class ******factory else if("benz".equalsignorecase(name))else if("audi".equalsignorecase(name))else }
}
4.測試:
package com.gupaoedu.vip.factory.******;
import com.gupaoedu.vip.factory.car;
public class ******factorytest
}
工廠方法:
1.工廠介面
package factory.func;
import factory.car;
//工廠介面,就定義了所有工廠的執行標準
public inte***ce factory
2.具體產品的工廠
package com.gupaoedu.vip.factory.func;
import com.gupaoedu.vip.factory.audi;
import com.gupaoedu.vip.factory.car;
public class audifactory implements factory
}
package com.gupaoedu.vip.factory.func;
import com.gupaoedu.vip.factory.benz;
import com.gupaoedu.vip.factory.car;
public class benzfactory implements factory
}
package com.gupaoedu.vip.factory.func;
import com.gupaoedu.vip.factory.bmw;
import com.gupaoedu.vip.factory.car;
public class bmwfactory implements factory
}
3.工廠測試
package com.gupaoedu.vip.factory.func;
public class factorytest
}
抽象工廠
1.抽象工廠類
package factory.abstr;
import factory.car;
public abstract class abstractfactory else if("benz".equalsignorecase(name))else if("audi".equalsignorecase(name))else
}}
2.具體工廠
package com.gupaoedu.vip.factory.abstr;
import com.gupaoedu.vip.factory.audi;
import com.gupaoedu.vip.factory.car;
//具體的業務邏輯封裝
public class audifactory extends abstractfactory
}
package com.gupaoedu.vip.factory.abstr;
import com.gupaoedu.vip.factory.benz;
import com.gupaoedu.vip.factory.car;
public class benzfactory extends abstractfactory
}
package com.gupaoedu.vip.factory.abstr;
import com.gupaoedu.vip.factory.bmw;
import com.gupaoedu.vip.factory.car;
public class bmwfactory extends abstractfactory
}
3.預設的工廠解決抽象類不能例項化的問題
package com.gupaoedu.vip.factory.abstr;
import com.gupaoedu.vip.factory.car;
public class defaultfactory extends abstractfactory
}
4.測試
package com.gupaoedu.vip.factory.abstr;
public class abstractfactorytest
}
java中工廠模式理解
首先說說簡單工廠模式,我用現實中的汽車工廠舉例子,首先有個汽車類的介面叫做car,裡面有個開車的方法叫做drive 然後有個吉利車的類叫做jili,實現了car的介面,還有個奇瑞車的類叫做qirui,也實現了car的介面 因為都是車嘛,當然能開了 inte ce car class jili imp...
Java中設計模式之工廠模式
package com.lzw.factory import com.lzw.demo.add 工具廠 author lzw date 2019年5月24日 public inte ce factory class addfactory implements factory class subfac...
java工廠模式
定義乙個用於建立物件的介面,我們需要乙個物件例項的時候就可以通過呼叫介面的方法來獲取我們想要的物件例項。首先,最簡單的 簡單工廠介面,可以返回例項 public inte ce factory 工廠實現類,返回money例項 public class moneyfactoryimpl impleme...