[关键字]:java,design pattern,设计模式,《Java与模式》,Abstract Factory,抽象工厂模式
[环境]:StarUML5.0 + JDK6
[作者]:Winty (wintys@gmail.com)
[正文]:
/**
* 抽象工厂:Button and Text of Windows and Unix
* @version 2009-4-11
* @author Winty(wintys@gmail.com)
*/
package pattern.abstractfactory;
public class AbstractFactory{
public static void main(String[] args){
Factory unix , win;
unix = new UnixFactory();
win = new WindowsFactory();
//创建Unix产品
Button btn1 = unix.createButton();
Text text1 = unix.createText();
System.out.println("");
//创建Windows产品
Button btn2 = win.createButton();
Text text2 = win.createText();
}
}
//产品等级1
abstract class Button{
protected String type;
public Button(){
type = "Button";
}
}
class UnixButton extends Button{
public UnixButton(){
System.out.println("Unix" + type);
}
}
class WindowsButton extends Button{
public WindowsButton(){
System.out.println("Windows" + type);
}
}
//产品等级2
abstract class Text{
protected String type;
public Text(){
type = "Text";
}
}
class UnixText extends Text{
public UnixText(){
System.out.println("Unix"+type);
}
}
class WindowsText extends Text{
public WindowsText(){
System.out.println("Windows"+type);
}
}
//抽象工厂
abstract class Factory{
public abstract Button createButton();
public abstract Text createText();
}
class UnixFactory extends Factory{
public Button createButton(){
return new UnixButton();
}
public Text createText(){
return new UnixText();
}
}
class WindowsFactory extends Factory{
public Button createButton(){
return new WindowsButton();
}
public Text createText(){
return new WindowsText();
}
}
- 大小: 72.5 KB
分享到:
相关推荐
本例是一个抽象工厂的实例程序,纯粹的个人完全原创,里面有完整的注释及说明。非常适合于新手及对设计模式有困惑的。实例简单但清晰的阐述了抽象工厂模式的妙处。
NULL 博文链接:https://jacky-dai.iteye.com/blog/2296369
[浪曦原创]JAVA设计模式 第4讲 抽象工厂(jzkangta)
抽象工厂模式 原型模式 建造者模式 单例模式 结构型模式 队列模式 桥接模式 组合模式 装饰模式 外观模式 享元模式 代理模式 行为模式(类行为模式) 解释器模式 模板方法模式 行为模式(对象行为模式) 策略模式 ...
库存管理系统: 用于追踪和管理商品或原材料的库存。这种系统可以帮助企业避免库存过剩或不足的问题,提高供应链的效率。 客户关系管理系统(CRM): 用于管理与客户之间的关系,包括客户信息、沟通记录、销售机会...
阅读设计模式之禅以及大话设计模式,写个demo加深印象,可以参考作者文章原 《简单工厂模式、工厂方法模式和抽象工厂模式》https://blog.csdn.net/u013795543/article/details/100173672
3.1 Abstract Factory(抽象工厂)— 对象创建型模式 57 3.2 Builder(生成器)—对象创建型 模式 63 3.3 Factory Method(工厂方法)— 对象创建型模式 70 3.4 Prototype(原型)—对象创建型 模式 87 3.5 ...
么还要那么麻烦去请动抽象工厂模式,来生成两类产品呢? 可能还会有人问,即使你使用这种方式,那么在判断具体创建哪个工厂的时候,不是也要用到 switch 语 句吗?我承认这种看法是对的。不过使用工厂模式,其直接...
工厂系列模式的优缺点: 让用户的代码和某个特定类的子类的代码解耦 用户不必知道它所使用的对象是怎样创建的,只需知道该对象有哪些方法 抽象工厂模式可以为用户创建一系列相关的对象,使用户和创建这些对象的类脱...
工厂方法模式: 而是将具体创建的工作交给子类去做, 工厂方法模式 核心工厂类不再负责所有产品的创建, 成为一个抽象工厂角色, 仅负责给出具体工厂类必须实现的接口, 而不接触哪一个产品类应 当被实例化这种细节...
3.1 abstract factory(抽象工厂)— 对象创建型模式 57 3.2 builder(生成器)—对象创建型 模式 63 3.3 factory method(工厂方法)— 对象创建型模式 70 3.4 prototype(原型)—对象创建型 模式 87 3.5 ...
Java设计模式之抽象工厂模式.pdf Java数据结构和算法.pdf Java数据结构和算法中文第二版.pdf Java线程.pdf Java夜未眠_程序员的心声.pdf JAVA优化编程.pdf Java语言编码规范.PDF Java语言程序设计-基础篇(原书第8版)...
35.7 对一组相关的对象使用抽象工厂模式 35.8 使用多态性和“Do It Myself”模式处理支付 35.9 示例:Monopoly案例 35.10 结论 第36章 包的设计 36.1 组织包结构的准则 36.2 参考资料 第37章 UML部署图和构件...
35.7 对一组相关的对象使用抽象工厂模式 35.8 使用多态性和“Do It Myself”模式处理支付 35.9 示例:Monopoly案例 35.10 结论 第36章 包的设计 36.1 组织包结构的准则 36.2 参考资料 第37章 UML部署图和构件...
设计模式共23种(大部分文献也有24种的说法,增加了空对象模式),常用一定要掌握的设计模式:单例模式、工厂模式、抽象工厂模式、策略模式、装饰模式、适配器模式、桥接模式、观察者模式 codetips :closed_book: ...
泛型技巧系列:用泛型打造可复用的抽象工厂 体验.net2.0的优雅(四):Provider、策略、控制反转和依赖注入 泛型最佳实践 asp.net 2.0下嵌套masterpage页的可视化编辑 C# 2.0与泛型 动态调用对象的属性和方法——...
35.7 对一组相关的对象使用抽象工厂模式 35.8 使用多态性和“Do It Myself”模式处理支付 35.9 示例:Monopoly案例 35.10 结论 第36章 包的设计 36.1 组织包结构的准则 36.2 参考资料 第37章 UML部署图和构件...