一点点从基础做起,23中设计模式一天看一个
首先学习了一个UML,但是没有能下到RationalRose,想去官网上下载,但是似乎收费,索性就用手头上的StartUML,其实就是一个工具,能实现就行了
SimpleFactory——简单设计模式原理图
package com.designpattern.simplefactory;
public class Client {
public static void main(String[] args) {
Animal tiger = SimpleFactory.createAnimal("Tiger");
tiger.eat();
Animal dolphin = SimpleFactory.createAnimal("Dolphin");
dolphin.eat();
}
}
package com.designpattern.simplefactory;
public class SimpleFactory {
public static Animal createAnimal(String animalName) {
if ("Tiger".equals(animalName)) {
return new Tiger();
} else if ("Dolphin".equals(animalName)) {
return new Dolphin();
}
return null;
}
}
package com.designpattern.simplefactory;
public interface Animal {
public void eat();
}
package com.designpattern.simplefactory;
public class Dolphin implements Animal {
@Override
public void eat() {
System.out.println("Dolphin is eating");
}
public void swim() {
System.out.println("Dolphin is swimming");
}
}
package com.designpattern.simplefactory;
public class Tiger implements Animal {
@Override
public void eat() {
System.out.println("Tiger is eating");
}
public void run() {
System.out.println("Tiger is running");
}
}
简单工厂设计模式中,客户端不在负责对象的创建,而是把这个任务丢给了具体的工厂类,客户端置负责对对象的简单的调用,从而明确了各个类的职责。
由于简单的工厂模式使用静态的方法来创建对象,这就导致了静态方法无法被继承。另一方面,这个工厂类负责所有对象的创建,这回导致虽然具体的产品的不断增多,可能客户端对于某些产品的创建方式会有不同的要求,这样的话,就要不断的修改工厂类,增加了相应的判断逻辑,不利于后期的维护。
其实从这个简单的工厂模式的原理可以看出,原来在客户端要做的创建和初始化工作都被移到了工厂里去做,这样做,虽然是把创建对象和初始化工作于客户端分离了,实现了这部分的责任分配,但所有对象创建和初始化的工作还是都集中在了这个具体的工厂类里面,这样如果要创建的对象很多,这个工厂将会非常庞大,仍然不利于后期代码的维护。因此简单工厂模式只是使用与要创建的对象比较少和简单的时候,因此这个设计模式看一下过去就行了,也没有必要再这个上面下多大功夫,毕竟还是比较简单的东西,如果多了怎么办呢,这样就到了期待的下一个设计模式Factory
Method
分享到:
相关推荐
java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式...
抽象工厂设计模式抽象工厂设计模式 抽象工厂设计模式 抽象工厂设计模式 抽象工厂设计模式 抽象工厂设计模式 抽象工厂设计模式
抽象工厂模式是一种创建型设计模式,它的主要目标是提供一个接口或抽象类,用于创建一系列相关或依赖的对象。该模式的主要优点在于,它可以为客户端代码提供一个统一的接口,使得客户端无需关心具体实现细节。抽象...
设计模式之简单工厂模式案例
设计模式之简单工厂模式,有文档解说,有代码案例。很适合初学者学习!
介绍的是工厂模式 包括简单工厂模式、工厂方法模式、抽象工厂模式 包括PPT和代码
设计模式(简单工厂模式_排序)手写的代码,自己写博客用
设计模式PHP版:简单工厂模式实例。 以计算器的实现为实例,说明了简单工厂模式的实现方法。
JAVA设计模式(01):创建型-工厂模式【简单工厂模式】(Simple Factory)
java工厂设计模式之简单工厂实例以及介绍,程序已经运行过能正常跑通
这是设计模式中简单工厂设计模式的源代码,工程中以一个计算器的示例来体现简单工厂模式的精髓。简单工厂模式主要解决创建对象的问题。
设计模式 简单工厂模式 简易计算器代码 设计模式 面向对象 计算器 java
java 设计模式 mvc模式 单例模式 代理 工厂 简单工厂
这个是http://blog.csdn.net/dawanganban/article/details/9875873博客中java设计模式的源代码。下载前请先看《设计模式——简单工厂》一文。
设计模式 C# 简单工厂模式,又叫做静态工厂方法模式,这是一个很简单的模式,它不属于GOF二十三个基本模式之中的一个,但它是一个很有用的模式,有用得着的时候可以使用它。
该系统是一个画图程序,我们要用设计模式的思想来设计系统结构,然后实现基本图形的绘制功能。 1.1 设计模式要求 在软件的设计中请使用到三种以上设计模式。 1.2 画图基本要求 能实现基本图形的绘制功能,包括实现...
常常被这三种设计模式弄的晕头转向的 毫不容易弄的差不多清楚了
设计模式之工厂方法、简单工厂、抽象工厂
Java设计模式04简单工厂模式.pdf
设计模式 工厂 简单工厂 只是传个实例上, 简单工厂,大家都应该了解了...