一、简单工厂模式
工厂可以创建同一系列的具体产品,工厂根据具体参数,创建相应的产品
没有工厂接口,只是一个工厂创建多个具体产品
例子:一个饭店(工厂)--一个卖饭窗口(产品接口)--炒鸡蛋,炒五花肉(产品,一系列具体种类)
interface IFood{
public void food();
}
class Eggs implements IFood{
public void food(){
System.out.println("eggs");
}
}
class Meat implements IFood{
public void food(){
System.out.println("meat");
}
}
class FoodStore{
public IFood getFood(int i){
if(i==1){
return new Meat();
}
if(i==2){
return new Eggs();
}
return null;
}
public static void main(String args[]){
//去饭店ef--点饭getFood--开吃food
EatFactory ef=new EatFactory();
ef.getFood(1).food();
ef.getFood(2).food();
}
}
二、工厂模式
具体工厂生产一种具体产品
例子:一个饭店接口--炒鸡蛋店(具体工厂),炒肉店(具体工厂)
interface IEat{
public void eat();
}
class Eggs implements IEat{
public void eat(){
System.out.println("eggs");
}
}
class Meat implements IEat{
public void eat(){
System.out.println("meat");
}
}
/**
*工厂接口,与工厂具体实现
*对吃没有要求,肉蛋均可
*每一个具体工厂对应一个具体产品
*/
interface IFactory{
public IEat createFood();
}
class EggsFactory implements IFactory{
public IEat createFood(){
return new Eggs();
}
public static void main(String args[]){
//进了肉店吃炒肉
IFactory factory=new MeatFactory();
factory.createFood();
}
}
class MeatFactory implements IFactory{
public IEat createFood(){
return new Meat();
}
}
三、抽象工厂模式
出现了产品簇,多个产品簇的等级结构相同
例子:
将肉蛋组合成产品并分类……鸡品、鸭品
它们的等级结构都是肉蛋
所以抽象工厂的行为是造肉,造蛋
具体工厂为吃鸡工厂,吃鸭工厂
interface IEgg{
public void eatEgg();
}
interface IMeat{
public void eatMeat();
}
class ChickenEggs implements IEgg{
public void eatEgg(){
System.out.println("chicken henapple");
}
}
class DuckEggs implements IEgg{
public void eatEgg(){
System.out.println("duck egg");
}
}
class ChickenMeat implements IMeat{
public void eatMeat(){
System.out.println("chicken meat");
}
}
class DuckMeat implements IMeat{
public void eatMeat(){
System.out.println("duck meat");
}
}
/**
*抽象工厂,创建的是
*一个产品簇就是(一个整体中的)多个模块--------这里是蛋和肉组成一个产品肉蛋
*多个等级结构---------------这里产品的等级结构都是蛋和肉
*等级结构相同,所有使用抽象工厂模式
*/
interface IAbstractFactory{
public IEgg createEgg();
public IMeat createMeat();
}
class ChickenFactory implements IAbstractFactory{
public IEgg createEgg(){
return new ChickenEggs();
}
public IMeat createMeat(){
return new ChickenMeat();
}
public static void main(String args[]){
//进了鸡店吃鸡蛋,吃鸡肉
IAbstractFactory factory=new ChickenFactory();
IEgg egg=factory.createEgg();
IMeat meat=factory.createMeat();
egg.eatEgg();
meat.eatMeat();
}
}
class DuckFactory implements IAbstractFactory{
public IEgg createEgg(){
return new DuckEggs();
}
public IMeat createMeat(){
return new DuckMeat();
}
}
E:\test>javac sic.java
E:\test>java ChickenFactory
chicken henapple
chicken meat
E:\test>
分享到:
相关推荐
本篇将详细讲解三种工厂模式:简单工厂模式、工厂方法模式和抽象工厂模式,以及它们在实际开发中的应用。 1. 简单工厂模式(Simple Factory Pattern) 简单工厂模式是工厂模式的最基础形式,通过一个公共的工厂类来...
工厂模式通常分为三种:简单工厂模式、工厂方法模式和抽象工厂模式。下面我们将详细探讨这三种工厂模式在Java中的实现。 **1. 简单工厂模式** 简单工厂模式是最早期的工厂模式形式,它通过一个静态工厂方法来创建...
以下是关于Java工厂模式的详细解释,以及它所包含的三种主要类型的工厂模式: 1. **简单工厂模式(Simple Factory Pattern)**: - 简单工厂模式是一种静态工厂方法模式,它包含一个静态工厂类,负责创建对象。在...
工厂模式分为三种主要类型:简单工厂模式、工厂方法模式和抽象工厂模式。下面将详细介绍这三种工厂模式及其代码示例。 1. 简单工厂模式: 简单工厂模式通常用于创建一系列相关或相互依赖的对象。它包含一个工厂类...
本文将详细介绍iOS中的三种工厂模式:简单工厂模式、工厂方法模式以及抽象工厂模式,并结合具体示例、图解和分析进行阐述。 **1. 简单工厂模式** 简单工厂模式,也称为静态工厂模式,它通过一个公共的静态方法来...
工厂模式分为三种主要类型:简单工厂模式、工厂方法模式和抽象工厂模式。 1. **简单工厂模式** 简单工厂模式是最简单的工厂模式实现,它提供一个静态方法或者类来创建对象,这个类通常被称为“工厂”。用户只需要...
在这个压缩包中,我们可能会看到三种不同的工厂模式实现:简单工厂模式、工厂方法模式和抽象工厂模式。 1. **简单工厂模式**: 简单工厂模式是最直观的工厂模式实现,它通常包含一个工厂类,负责根据传入的参数或...
工厂模式(Factory Pattern)是一种创建型设计模式,它提供了一种创建对象的接口,而不是通过具体类来实例化对象。工厂模式可以将对象的创建过程封装起来,使代码更具有灵活性和可扩展性。 工厂模式有几种常见的...
工厂模式分为三种主要类型:简单工厂模式、工厂方法模式和抽象工厂模式。 1. **简单工厂模式**: 简单工厂模式是最基础的形式,它通过一个中心工厂类来创建对象。这个中心工厂类知道如何构建所有可能的对象,并...
在这个压缩包中,包含了三种工厂模式的C++实现:简单工厂模式、工厂方法模式以及抽象工厂模式。让我们一一探讨这些模式。 1. 简单工厂模式: 简单工厂模式是一种静态工厂方法,它提供一个公共的工厂类来创建对象。...
通常,工厂模式有三种主要类型:简单工厂模式、工厂方法模式和抽象工厂模式。 1. **简单工厂模式**:这是最直观的形式,包含一个静态工厂方法,根据传入的参数决定返回哪个类的实例。这种模式简单易用,但不支持...
本文将深入探讨三种工厂模式:简单工厂模式、工厂方法模式以及抽象工厂模式,并结合源码分析其应用场景和优缺点。 1. 简单工厂模式 简单工厂模式(Simple Factory Pattern)是一种静态工厂方法,它通过一个公共的...
在本文中,我们将深入探讨三种工厂设计模式——简单工厂模式、抽象工厂模式和工厂方法模式,以及两种单例模式——饿汉单例模式和懒汉单例模式。这些模式都是面向对象设计中的重要组成部分,对于理解和构建可维护、可...
在Java编程语言中,工厂模式通常分为简单工厂模式、工厂方法模式和抽象工厂模式三种类型。这些模式都是围绕着一个中心思想:将对象的实例化过程封装起来,使代码更加灵活且易于维护。 1. **简单工厂模式**: 简单...
在Java编程领域,设计模式是一种解决常见问题的模板或...在阅读给定的博客文章《java设计模式之三大工厂模式》时,可以期待作者详细解析每种模式的结构、优缺点以及使用示例,帮助读者更好地理解和应用这些设计模式。
工厂模式分为三种主要形态:简单工厂模式、工厂方法模式和抽象工厂模式。 1. 简单工厂模式:也称为静态工厂方法模式,它通过一个静态方法来创建对象。在这个例子中,`FruitGardener` 类就是简单工厂,它根据输入的...
### 二十三种设计模式通俗理解 #### 1. FACTORY (工厂模式) 工厂模式是一种常用的软件设计模式,它的核心思想在于将实例化的责任交给一个专门的类——工厂类。这样做的好处是用户无需了解创建对象的具体过程,只...
工厂模式分为三种主要类型:简单工厂模式、工厂方法模式和抽象工厂模式。 **1. 简单工厂模式(Simple Factory)** 简单工厂模式中,有一个中心工厂类负责创建对象。这个工厂类通常由一个静态方法构成,根据传入的...
今天我们将深入探讨三种主要的设计模式:简单工厂、工厂方法和抽象工厂。 ### 简单工厂模式 简单工厂模式是一种创建型设计模式,它提供了一个静态方法来创建对象,而无需暴露创建逻辑。这个静态方法根据输入参数来...