简单工厂(Simple Pattern)模式】的更多相关文章

本文源自深入浅出设计模式. 只不过我是使用C#/.NET Core实现的例子. 前言 当你看见new这个关键字的时候, 就应该想到它是具体的实现. 这就是一个具体的类, 为了更灵活, 我们应该使用的是接口(interface). 有时候, 你可能会写出这样的代码: 这里有多个具体的类被实例化了, 是根据不同情况在运行时被实例化的. 当你看到这样的代码, 你就会知道当有需求需要对其进行修改或者扩展的时候, 你就得把这个文件打开, 然后看看在这里应该添加或者删除点什么. 这类的代码经常会分散在程序的…
定义:根据提供的数据或参数返回几种可能类中的一种. 示例:实现计算器功能,要求输入两个数和运算符号,得到结果. 结构图: HTML: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Simple Factory Demo</title> </head> <body> <form id=&quo…
简单工厂又称为静态工厂方法(static factory method)模式,简单工厂是由一个工厂来决定创建出哪一种个体的实现,在很多的讨论中,简单工厂做为工厂方法模式(Factory Method)的一个特殊案例出现. 这个模式封装的变化点是什么? 这是每一个模式都应该考虑的核心问题,一定要记得,如果系统中这个点不会变化,是没必要来封装的,否则会造成模式误用.简单工厂是解决因为多个子类的实例动态创建的问题,变化点也就是:具体的创建实例不确定. 初期状态 既然是对象创建模式,当然解决的是对象创建…
在设计模式当中有三大工厂,分别是 简单工厂.抽象工厂.工厂方法 这三种创建实例的设计模式,这里先从简单工厂将其,从名字就可以看出这是这三种工厂模式当中最为简单的一种实现. 简单工厂一般由以下几个对象组成: 对象 作用 工厂类 负责创建产品 抽象产品类 工厂创建出来的产品抽象 具体产品类 继承自抽象产品类,具体的产品功能 那么我们为什么不直接 new 一个对象来执行操作呢?如果有以下代码: public class BusinessClass { public void Process() { C…
概念定义 简单工厂(Simple Factory)模式,又称静态工厂方法(Static Factory Method)模式,即定义一个工厂类,根据传入的不同参数创建不同的产品实例,这些实例对象具有共同的父类或接口. 应用场景 需要创建的产品对象较少,否则工厂逻辑会过于复杂. 客户端只关心产品的接口,而不关心对象的具体创建过程. 示例代码 简单工厂模式由一个工厂类.一个产品接口(或抽象类)和一组实现该接口的具体产品组成.这个工厂类根据传入的参数创造一个具体的产品实现类,并向上转型为接口作为结果返回…
Java 设计模式系列(二)简单工厂模式和工厂方法模式 实现了创建者和调用者的分离.分为:简单工厂模式.工厂方法模式.抽象工厂模式 简单工厂模式.工厂方法模式都很简单,就不详细介绍了. 一.简单工厂 public interface Car { public void run(); } public class Audi implements Car { public void run() { System.out.println(this.getClass().getSimpleName()…
定义: 简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一. 简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例. 简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现. 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例. 优点: 工厂类是整个模式的关键.包含了必要的逻辑判断,根据外界给定的信息,决定究竟应该创…
New 这是一个典型的情况, 我们需要在运行时来实例化一些具体的类. 在需要修改或者扩展的时候我们就需要改这段代码. 一个程序中可能会多次出现类似的代码, 这使得维护和更新非常困难而且容易出错. 通过面向接口的编程, 我们可以把自己从各种变化中隔离出来, 因为如果代码是面向接口的话, 那么通过多态机制, 任何实现了该接口的新类都可以直接被使用. 所以别忘了设计原则: 对修改关闭. 需求 假设你是个披萨店老板, 有以下代码: 这是订购披萨的过程. 而你可能需要多种披萨: 这里就是根据参数来创建不同…
一.简单工厂模式简介(Bref Introduction) 简单工厂模式(Simple Factory Pattern)的优点是,工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖 二.解决的问题(What To Solve) 客户实例化对象时不需要关心该对象是由哪个子类实例化的. 三.简单工厂模式分析(Analysis) 1.简单工厂模式结构 IProduct接口:抽象产品类 ConcreteProduct类:产品类的具体实现 Simp…
简单工厂模式Simple Factory Pattern[Simple Factory Pattern]是设计模式里最简单的一个模式,又叫静态工厂模式[Static Factory Pattern],这个模式没有收录在GOF 23 个模式中,因为他非常简单,在项目中使用也非常广泛,所以就用它来开篇. 一.简单工厂模式定义: 简单工厂模式(Simple Factory Pattern):定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类.因为在简单工厂模式中用于…