package com.laozizhu.designpattern.simplefactory;
/**
* 追MM与设计模式的JAVA实现 - 简单工厂方法。<br>
* <br>
* 追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,<br>
* 虽然口味有所不同,但不管你带MM去麦当劳或肯德基,<br>
* 只管向服务员说“来四个鸡翅”就行了。 <br>
* 麦当劳和肯德基就是生产鸡翅的Factory<br>
* <br>
* 工厂模式 :<br>
* 客户类和工厂类分开。消费者任何时候需要某种产品,<br>
* 只需向工厂请求即可。消费者无须修改就可以接纳新产品。<br>
* 缺点是当产品修改时 ,工厂类也要做相应的修改。<br>
* 如:如何创建及如何向客户端提供。
*
* @author 老紫竹(laozizhu.com)
*/
public class SimpleFactoryTest {
public static void main(String[] args) {
Noshery n = SimpleFactory.getNoshery(SimpleFactory.KFC);
System.out.println(n.getChickrenSwing());
}
}
/**
* 简单工厂
*
* @author 老紫竹研究室(laozizhu.com)
*
*/
class SimpleFactory {
public static final String KFC = "KFC";
public static final String Mcdonald = "Mcdonald";
public static Noshery getNoshery(String name) {
if (KFC.equals(name)) {
return new KFC();
} else if (Mcdonald.equals(name)) {
return new Mcdonald();
} else {
throw new RuntimeException("不支持的快餐店");
}
}
}
/**
* 快餐店
*
* @author 老紫竹研究室(laozizhu.com)
*
*/
abstract class Noshery {
public abstract String getChickrenSwing();
}
/**
* 肯德基快餐店
*
* @author 老紫竹研究室(laozizhu.com)
*
*/
class KFC extends Noshery {
public String getChickrenSwing() {
return "肯德基鸡翅";
}
}
/**
* 麦当劳快餐店
*
* @author 老紫竹研究室(laozizhu.com)
*
*/
class Mcdonald extends Noshery {
public String getChickrenSwing() {
return "麦当劳鸡翅";
}
}
分享到:
相关推荐
Java的23种设计模式是软件工程中的一种经典思想,它们是解决常见编程问题的成熟解决方案,被广泛应用于各种项目中。设计模式并不是特定的代码或库,而是对在特定情境下,如何组织代码和交互的一种描述。这些模式是...
标题《从追MM谈Java的23种设计模式》独特地将Java设计模式与“追女孩”的生活场景相结合,通过一系列生动的例子来解释各种设计模式的概念和使用场景。在IT行业中,这种以生活场景来比喻技术概念的方式,能帮助人们更...
【Java设计模式与追MM】这篇内容以轻松的方式介绍了Java设计模式的基础知识,特别是创建模式。设计模式是一种在特定情况下解决软件设计问题的最佳实践,它能够提高代码的可读性、可维护性和复用性。 首先,我们来看...
现在,让我们结合“追MM”这个有趣的比喻,来深入理解这23种设计模式。 1. **单例模式** - 就像你追求心仪的MM,你希望她是你的唯一,单例模式确保类只有一个实例,并提供全局访问点。在Java中,可以使用双重检查...
标题:“追MM与Java的23种设计模式” 描述:“细说Java的23种设计模式,望大家喜欢” 从给定的文件标题、描述、标签以及部分内容中,我们可以提炼出关于Java设计模式的重要知识点。Java设计模式是软件工程领域的一...
"从追MM谈JAVA的23种设计模式"这篇文章以一种幽默轻松的方式,将Java编程中的23种设计模式与追求心仪对象的过程进行类比,使抽象的概念更加生动易懂。以下是对这23种设计模式的详细解读: 1. **单例模式(Singleton...
本主题将通过GG(Geek Guy,技术宅男)追MM(Miss Miracle,奇迹女孩)的场景来形象地解释23种Java设计模式,帮助开发者更生动地理解和应用这些模式。 1. **单例模式**:就像GG只有一个真心爱慕的MM,系统中也常常...
### 23种JAVA设计模式和15种J2EE设计模式详解 #### 一、JAVA设计模式概览 在软件工程领域,设计模式是一种在特定情境下解决常见问题的有效方法。Java作为一种广泛使用的编程语言,拥有丰富的设计模式库来帮助...
设计模式之Factory -工厂模式 客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。 缺点是当产品修改时,工厂类也要做相应的修改。 追MM少不了请吃饭了,麦当劳...
文档"java23种设计模式与追MM.doc"以生动有趣的比喻解释了这些模式,帮助初学者更好地理解和记忆。 1. **工厂模式**:就像在麦当劳或肯德基点餐,你只需要告诉服务员“四个鸡翅”,而不用关心鸡翅是如何制作的。...
Java的23种设计模式根据其目的和应用场景,可以分为三类:创建型、结构型和行为型。 1. **创建型设计模式** - **工厂模式**:提供了创建对象的接口,让客户端避免与具体的类直接交互,从而简化了系统的耦合度。 -...
《Java23种设计模式与追MM》这本书通过一种轻松幽默的方式,将复杂的软件设计模式原理与现实生活中的恋爱追求技巧相结合,让读者在享受阅读乐趣的同时,深入理解设计模式的精髓。 ### 单例模式(Singleton Pattern...
本讲座主要介绍了三种创建型设计模式:工厂模式、工厂方法模式和建造者模式,并通过趣味性的例子帮助理解。 1. **工厂模式**:工厂模式是一种简单的创建对象的模式,它提供了一个接口,用于创建特定类型的对象,而...