java設計模式大體分爲23種設計模式,直接通過例子學習設計模式,更易於理解和思考其中的原理和作用,以下給出簡單工廠模式 的demo:
MainRun.java類,是程序運行入口,含有main方法。大夥認真的看main方法上面的註釋喔,是博主對此模式的總結和分析。(附 advantage是表示使用此模式的優勢,disadvantage是此模式的不足和缺點,use scene是表示此模式的使用場景。)
package cn.cat.design.mode.factory.simple;
public class MainRun {
/**簡單工廠模式:客戶需要獲取產品,不是直接由用戶創建,而是只需要向工廠獲取即可。
* advantage: 用戶不用關心產品是如何生產的,並且便於對產品進行控制。
* disadvantage:面對有些用戶對產品的特殊需求,就不能通過工廠類統一供給。並且工廠類的修改,會牽扯到很多客戶。
* use scene:需要控制產品的生成,減少客戶對產品的控制度,簡化產品的獲取方式。
* @param args
*/
public static void main(String[] args) {
//從工廠中獲取產品
Apple apple = AppleFactory.getInstance();
System.out.println("apple.flavour:"+apple.getFlavour());
System.out.println("apple.shape:"+apple.getShape());
}
}
AppleFactory.java
package cn.cat.design.mode.factory.simple;
/**工廠類,負責生產出產品
*
* @author Cat(gwj)
* date 2015-8-2
* time 下午2:14:59
*/
public class AppleFactory {
public static Apple getInstance() {
Apple apple = new Apple();
apple.setFlavour("sweet");
apple.setShape("ellipse");
System.out.println("工廠類AppleFactory生產出蘋果產品:"+apple);
return apple;
}
}
Apple.java
package cn.cat.design.mode.factory.simple;
/**產品:蘋果
*
* @author Cat(gwj)
* date 2015-8-2
* time 下午2:12:36
*/
public class Apple {
/**
* 味道
*/
private String flavour;
/**
* 形狀
*/
private String shape;
public String getFlavour() {
return flavour;
}
public void setFlavour(String flavour) {
this.flavour = flavour;
}
public String getShape() {
return shape;
}
public void setShape(String shape) {
this.shape = shape;
}
}
------------------------------------------------------------demo end------------------------------------------------------------------------------