为什么要用设计模式,这个我就不说了,原因很简单,因为它就是“美”。设计模式我也是刚开始学,现在将我写的一些模拟代码写下,以备日后学习研究提高使用。
首先说下简单工厂模式,这个模式通过一个简单计算器的例子实现。ok上代码
1。所有的计算器都能经过技术后得打计算结果。所以可以抽象出一个计算结果的方法
package com.yjck.simplefactory;
/**
* 操作的接口类,所有的具体实现类的接口类,定义了通用的方法
*/
public interface Operation {
/**
* 获得计算后的结果
* @param a
* @param b
* @return
*/
public double getResult(double a,double b);
}
2。基本的四则运算
package com.yjck.simplefactory;
public class OperationAdd implements Operation {
/**
* @see Operation 加法计算
*/
public double getResult(double a, double b) {
return a+b;
}
}
package com.yjck.simplefactory;
public class OperationDiv implements Operation {
/**
* 除法运算
*/
public double getResult(double a, double b) {
// TODO Auto-generated method stub
return a/b;
}
}
package com.yjck.simplefactory;
public class OperationMul implements Operation {
/**
* 乘法运算
*/
public double getResult(double a, double b) {
// TODO Auto-generated method stub
return a*b;
}
}
package com.yjck.simplefactory;
public class OperationSub implements Operation {
/**
* 减法运算
*/
public double getResult(double a, double b) {
// TODO Auto-generated method stub
return a-b;
}
}
3。工厂类,根据不同的运算方式生产不同的计算类
package com.yjck.simplefactory;
/**
* 简单工厂模式之工厂类
* 这个类根据操作类型的不同可以自由生成相应的处理类
*/
public class Factory {
public static Operation createOperation(String opt){
Operation operation = null;
if("+".equals(opt)){
operation = new OperationAdd();
}
if("-".equals(opt)){
operation = new OperationSub();
}
if("*".equals(opt)){
operation = new OperationMul();
}
if("/".equals(opt)){
operation = new OperationDiv();
}
return operation;
}
}
4。客户端调用
package com.yjck.simplefactory;
public class Run {
/**
* 主类,程序入口
*/
public static void main(String[] args) {
Operation operation = null;
operation = Factory.createOperation("/");
double result = operation.getResult(1.00, 5.33);
System.out.println(result);
}
/**
* ********下面这些话是对简单工厂模式的总结********
* 和以往的java程序写法不同,简单工厂模式充分利用了java的
* 多态机制,成功的将具体的实现类进行了剥离,也就是进行了
* 解耦的操作,使得程序更加灵活,如果我们要对加法进行修改
* 就只需要在实现加法的类中进行修改,如果我们要增加一个计算
* 方法,只需要写一个具体的实现类,然后再factory类中加一个
* 分支语句就OK了。
* ***********************************************
*/
}
分享到:
相关推荐
java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式...
### Java设计模式之简单工厂模式详解 #### 一、创建型模式概览 在软件工程领域,设计模式是一种被广泛采用的解决方案模板,用于解决在软件设计过程中遇到的常见问题。其中,创建型模式(Creational Pattern)专注...
**Java设计模式——简单工厂** 简单工厂模式是软件设计模式中的一种基础模式,它属于创建型设计模式。在Java编程中,我们常常会遇到需要创建一系列相关或相互依赖的对象,而这些对象的创建过程可能会非常复杂。这时...
### JAVA设计模式之简单工厂模式详解 #### 一、简单工厂模式概述 简单工厂模式是一种常用的类的创建型设计模式,它的主要目的是提供一个统一的接口来创建一系列相关的或者相互依赖的对象,而无需指定它们具体的类...
简单工厂模式是面向对象设计中的一种经典设计模式,它属于创建型模式,主要用来解决对象的创建问题。在Java编程中,简单工厂模式通过一个中心工厂类来负责创建相关的对象,而无需让客户端代码直接new具体的产品类。...
Java设计模式是软件开发中的重要概念,它是一种在特定情境下解决问题的经验总结,可以提高代码的可读性、可维护性和可复用性。在这个"java设计模式之简单工厂.zip"压缩包中,包含了两个视频文件,分别以“5.理解简单...
在Java中,简单工厂、工厂方法和抽象工厂是三种不同的工厂模式实现。 5. **简单工厂模式**:是最简单的工厂模式形式,它包含一个工厂类,根据传入的参数决定返回哪种类型的实例。虽然易于理解,但不易扩展,因为...
简单工厂模式的概念 是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。 ...
**Java工厂设计模式之简单工厂** 简单工厂设计模式是一种创建型设计模式,它提供一个创建对象的静态方法,客户端可以通过这个静态方法获取所需的具体产品,而无需了解这些产品的具体实现。这种模式的主要目的是将...
"设计模式之java工厂模式"是关于如何优雅地创建对象的一种经典设计模式,它属于创建者模式类别。创建者模式主要关注对象的创建,而工厂模式则在其中扮演着重要角色,因为它提供了一种抽象的方式来创建对象,从而使...
在Java与模式之简单工厂模式中,我们首先理解其基本概念。简单工厂模式包含三个主要角色: 1. **产品接口(Product)**:定义了产品的公共接口,所有具体产品类都需要实现这个接口。 2. **具体产品(Concrete ...
java设计模式之抽象工厂模式实例,希望对大家有所帮助。
在软件设计模式中,工厂模式是一种非常常用的行为型模式,它的主要目的是为了隔离对象的创建过程,使得客户端代码不直接创建对象,而是通过一个工厂类来负责对象的创建。这样可以使得系统更具可扩展性和可维护性。...
Java设计模式 - 简单工厂 & 工厂方法(构建工厂)源码:FactoryModel - 详情:https://blog.csdn.net/Dream_Weave/article/details/83989879
简单工厂模式是软件设计模式中的一种基础模式,它属于创建型模式,主要用于简化对象的创建过程。在Java中,简单工厂模式通过一个中心工厂类来根据传入的参数或者条件来决定实例化哪种具体的对象。这种模式的核心在于...
在给定的资源中,"设计模式交流之工厂模式-shannonxu-2014-10-24.pptx"可能是详细的PPT讲解,涵盖了这些模式的概念、结构、优缺点以及实际应用案例。而"Factory"可能是一个代码示例,展示了工厂模式的具体实现,包括...
**简单工厂模式**是软件设计模式中的一种基础模式,它属于创建型模式,主要用于简化对象的创建过程。在简单工厂模式中,一个专门的工厂类负责创建对象,客户端通过调用工厂类的方法来获取所需的对象,而无需关心具体...
**Java设计模式——简单工厂模式** 简单工厂模式是软件设计模式中的创建型模式之一,它提供了一种创建对象的最佳方式。在简单工厂模式中,一个专门的类(工厂类)负责创建其他类的实例,客户端通过工厂类来获取所需...