- 浏览: 1230603 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (718)
- HTML (13)
- JS基础 (23)
- JS应用 (40)
- AJAX (6)
- JSP相关 (12)
- JAVA基础 (52)
- JAVA应用 (74)
- APPLET (11)
- SWING\RCP (2)
- JAVA反射 (6)
- 设计模式 (26)
- 数据库设计 (20)
- Struts (35)
- Struts2 (12)
- Spring (22)
- Hibernate (45)
- Ibatis (18)
- mybatis (3)
- SSH (8)
- UML (5)
- WebService (3)
- XML (16)
- Log4j (7)
- WEB容器 (26)
- 数据结构 (36)
- Linux (34)
- Ruby on Rails (1)
- 其它技术 (27)
- IDE配置 (15)
- 项目实战 (2)
- Oracle (69)
- JAVA报表 (7)
- Android学习 (2)
- 博客链接 (1)
- 网络基础 (1)
- WEB集群 (1)
- .Net开发 (11)
- PB (4)
- 系统构建 (15)
最新评论
-
jnjeC:
牛逼啊哥们,讲得太好了
Maven仓库理解、如何引入本地包、Maven多种方式打可执行jar包 -
九尾狐的yi巴:
很好 感谢!
Itext中文处理(更新版) -
luweifeng1983:
有用的,重启一下嘛。
设置eclipse外部修改文件后自动刷新 -
Master-Gao:
设置了也不管用,怎么破呢?
设置eclipse外部修改文件后自动刷新 -
aigo_h:
锋子还有时间写博客,还是很闲哈!
Add directory entries问题
UML图
特例图
以图的实现代码:
package com.lwf.abstractfactory; public interface CPU { void getName(); }
package com.lwf.abstractfactory; public class MacCPU implements CPU { public void getName(){ System.out.println("MacCPU"); } }
package com.lwf.abstractfactory; public class PcCPU implements CPU { public void getName(){ System.out.println("PcCPU"); } }
package com.lwf.abstractfactory; public interface RAM { void printName(); }
package com.lwf.abstractfactory; public class MacRAM implements RAM { public void printName() { System.out.println("MacRAM"); } }
package com.lwf.abstractfactory; public class PcRAM implements RAM { public void printName() { System.out.println("PcRAM"); } }
package com.lwf.abstractfactory; public abstract class ComputerProducer { abstract CPU createCPU(); abstract RAM createRAM(); }
package com.lwf.abstractfactory; public class MacProducer extends ComputerProducer { CPU createCPU() { return new MacCPU(); } RAM createRAM() { return new MacRAM(); } }
package com.lwf.abstractfactory; public class PcProducer extends ComputerProducer { CPU createCPU() { return new PcCPU(); } RAM createRAM() { return new PcRAM(); } }
测试类:
package com.lwf.abstractfactory; public class Test { public static void main(String[] args) { ComputerProducer p = new MacProducer(); CPU c = p.createCPU(); RAM r = p.createRAM(); c.getName(); r.printName(); p = new PcProducer(); c = p.createCPU(); r = p.createRAM(); c.getName(); r.printName(); } }
结果:
MacCPU MacRAM PcCPU PcRAM
- abstractFactory.rar (7.7 KB)
- 下载次数: 2
发表评论
-
深入浅出设计模式十四——复合模式
2016-07-05 09:35 5713 -
深入浅出设计模式十一——组合模式
2016-07-05 09:31 4773 -
深入浅出设计模式十二-状态模式(行为型)
2010-07-20 16:27 1631定义: 状态模式: 允许对象在内部状态改变时改变它的行为 ... -
深入浅出设计模式十——迭代模式
2010-07-19 14:24 933我 -
代理模式\装饰模式\适配器模式区别
2010-07-16 17:16 2418代理模式\装饰模式\适配器模式它们有相似性,那么具体在什么情况 ... -
深入浅出设计模式十三——代理模式(结构型)
2010-07-16 11:29 874以下两篇文章分别讲了静态代理与动态代理 http://qu ... -
深入浅出设计模式九——模板方法模式(行为型)
2010-07-14 16:12 1030模板方法模式: 定义一个操作中的算法的骨架,而将一些步骤延迟 ... -
GRASP原则简介
2010-03-10 17:38 2409GRASP(General Responsibilit ... -
深入浅出设计模式六——封装调用(命令模式)
2010-03-08 15:35 1124命令模式: 将一个请求封装为一个对象,从而使你可用不同的请 ... -
深入浅出设计模式五——独一无二(单例模式)
2010-03-08 15:34 1096先看文章 :http://quicker.iteye.com/ ... -
深入浅出设计模式四——多区域比萨加盟店生产比萨实现(抽象工厂模式)
2010-03-05 16:17 1296有关抽象工厂文章可先看:http://quicker.itey ... -
深入浅出设计模式四——比萨店生产比萨实现(工厂方法模式)
2010-03-04 17:11 2401在http://quicker.iteye.com/blog/ ... -
深入浅出设计模式三——Beverage实现(装饰者模式)
2010-03-03 17:31 1324上图的实现代码见 ... -
深入浅出设计模式二——WeatherData设计(观察者模式)实现二
2010-03-02 17:24 1217在上文:深入浅出设计模式二——WeatherData设计(观察 ... -
深入浅出设计模式二——WeatherData设计(观察者模式)实现一
2010-03-01 14:31 1621UML详细图 良好的OO ... -
深入浅出设计模式一——Duck设计(策略模式)
2010-02-26 18:04 2154以下为针对上图所列代码: package com. ... -
深入浅出设计模式七——Adapter模式(结构型)
2010-02-22 15:45 1136将两个不兼容的类或者说没有关系的类纠合在一起使用。就要在使用 ... -
深入浅出设计模式八——Facade模式(结构型)
2010-02-22 15:06 1852外观模式定义: 外观模式:提供一个统一的接口,用来访问子系统 ... -
创建型——Builder模式
2010-02-04 16:04 989UML: 如何使用: ... -
创建型(单例模式)
2010-01-26 11:39 1011package com.lwf.create.singleto ...
相关推荐
**工厂模式**是一种常见的设计模式,属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,当我们创建对象时,不会直接实例化具体类,而是通过一个工厂类来生产所需的对象。这种模式的核心在于封装了对象...
在软件设计模式中,工厂模式是一种非常常见的创建型模式,它提供了一种创建对象的最佳方式。C#中的工厂模式分为简单工厂、抽象工厂和单例模式三种,每一种都有其特定的应用场景和优势。 1. **简单工厂模式**: ...
抽象工厂模式是设计模式中的一种创建型模式,它提供了一种创建对象集合的接口,而无需指定具体类。这种模式的主要目的是为了隔离产品对象的创建和使用,使得系统对产品类的依赖降低到最低,同时也方便了产品的扩展和...
抽象工厂模式是设计模式中的一种创建型模式,它提供了一种创建对象集合的接口,而无需指定具体的类。这种模式允许客户端使用一个通用接口来创建一组相关或相互依赖的对象,而无需关心它们的具体实现。在Java或其他...
抽象工厂模式是一种设计模式,属于创建型模式,它提供了一种创建对象集合的方式,这些对象来自相关联的产品家族,而且每个对象都属于不同的抽象产品类。在“格斗类游戏软件”的场景中,这个模式可以帮助我们根据玩家...
抽象工厂模式是一种重要的软件设计模式,它属于创建型模式,主要解决的是当系统需要创建一系列相关或相互依赖的对象时,而这些对象的类在运行时可能不确定的问题。在这个模式中,我们通过一个抽象工厂接口来定义创建...
工厂方法模式是面向对象设计模式中的一种,它属于创建型模式,主要解决的是当系统需要创建的对象具有多种类型,而具体创建哪种类型的对象在运行时才能确定的问题。在这个压缩包中,`FactoryMethod`可能包含了Java...
其中,工厂模式是一种常用的创建型模式,用于封装对象的创建过程,提供一种方式使系统能够独立于创建、组合和表示对象的具体类而运行。本文将深入探讨三种不同类型的工厂模式——简单工厂、工厂方法和抽象工厂——在...
简单工厂模式是创建型设计模式的一种,它提供了一种创建对象的最佳方式。在简单工厂模式中,一个专门的类(称为工厂类)负责创建对象,客户端无需知道所创建的对象的具体类,只需要知道所需对象的类型即可。这种模式...
抽象工厂模式中包含一个抽象工厂接口,定义了创建各种相关或依赖对象的接口,而无需指定它们的具体类。具体工厂则实现了这些接口,创建一组相关的对象。 **UML 类图及代码示例** ```cpp class AbstractFactory { ...
抽象工厂模式是设计模式中的一种,属于创建型模式,它的主要目的是为了解决在软件系统中,面对一系列相互依赖的对象的创建问题。这种模式提供了一个创建一系列相关或相互依赖对象的接口,而不必指定它们的具体类。...
工厂模式和抽象工厂模式是两种常用的创建型设计模式,它们都与对象的创建有关,但各有侧重。本篇文章将详细阐述这两种模式的核心概念、应用场景以及它们在实际编程中的应用。 首先,我们来看工厂模式。工厂模式是一...
在软件设计模式中,工厂方法(Factory Method)和抽象工厂(Abstract Factory)是两种非常重要的创建型模式。它们主要用于解决对象实例化的问题,提供了一种封装对象创建过程的方法,使得代码更加灵活,易于扩展和...
简介 设计模式是为了解决一些出现的问题设计的解决方案。是长时间经验的总结,是根据...工厂模式 在类中实现一个接口创建指定对象,使一个类的实例化延迟到了子类。简单来说把类的创建都封装起来,只需要调用一个子类
抽象工厂模式是一种创建型设计模式,它的核心思想是提供一个创建对象的接口,但允许子类决定实例化哪一个类。这个模式的关键在于它能让我们在不修改现有代码的情况下,切换不同的产品族。在本例中,比萨店可以看作...
在iOS开发中,设计模式是构建高质量应用的重要工具之一,其中抽象工厂模式是一种常见的创建型设计模式。这个压缩包提供了关于iOS中抽象工厂模式的演示示例、用例图以及对不同工厂模式的讲解,旨在帮助开发者更好地...
### 实验七 设计模式——创建型模式 #### 一、实验目的 1. **掌握设计模式:** 通过本实验,学生将深入了解三大类型的23种设计模式,并掌握每种模式的基本工作原理及其适用场景。 2. **应用场景设计:** 学生能够...
简单工厂模式是一种常用的设计模式,属于创建型模式之一。该模式的主要目的是为了封装产品对象的创建过程,将这一过程从客户端分离出来,使客户端无须关心具体的产品类如何被实例化。在C#中应用简单工厂模式,可以...
抽象工厂模式是一种创建型设计模式,它提供了一种方法来创建一系列相关或相互依赖的对象,而无需指定具体的类。这种模式的主要组成部分包括: - **客户端(Client)**:使用由`AbstractFactory`和`AbstractProduct`...