寫在開頭的話:
我在日常的團隊技術管理工作中發現,絕大多數人不會設計模式,沒有設計模式原則的指導,寫代碼很容易寫出僞面向對象的代碼,而網上大多數文章寫的都太教條了,我想寫這麼一個系列的文章,用最簡單的代碼和語言描述設計模式,這些文章希望對初學者能有些幫助,也希望大牛們不要鄙視我。
簡單工廠設計模式太簡單,直接上代碼
/**
* 簡單工廠
* 簡單工廠就是利用條件判斷,生成需要的實例
*/
public class Main {
public static void main(String[] args) {
ICat blackCat = SimpleFactory.create("BlackCat");
blackCat.eat();
ICat whiteCat = SimpleFactory.create("WhiteCat");
whiteCat.eat();
}
}
public interface ICat {
void eat();
}
public class BlackCat implements ICat {
public void eat() {
System.out.println("The black cat is eating!");
}
}
public class WhiteCat implements ICat {
public void eat() {
System.out.println("The white cat is eating!");
}
}
public class SimpleFactory {
static ICat create(String type){
if("BlackCat".equals(type)){
return new BlackCat();
} else {
return new WhiteCat();
}
}
}
用法:
平時我們寫代碼會經常用一個類負責生成別的類的實例,這樣邏輯代碼管理也比較方便