Java 设计模式系列(二)简单工厂模式和工厂方法模式 实现了创建者和调用者的分离.分为:简单工厂模式.工厂方法模式.抽象工厂模式 简单工厂模式.工厂方法模式都很简单,就不详细介绍了. 一.简单工厂 public interface Car { public void run(); } public class Audi implements Car { public void run() { System.out.println(this.getClass().getSimpleName()…
本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020 工厂方法模式和抽象工厂模式不好区分清楚: 工厂方法模式特点: 1. 一个抽象产品类,能够派生出多个详细产品类. 2. 一个抽象工厂类,能够派生出多个详细工厂类. 3. 每一个详细工厂类仅仅能创建一个详细产品类的实例. 抽象工厂模式特点: 1. 多个抽象产品类,每一个抽象产品类能够派生出多个详细产品类. 2. 一个抽象工厂类.能够派生出多个详细工厂类. 3. 每一个详细工厂类能够…
什么是抽象工厂,再次学习. 抽象工厂 概述 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类. 适用性 1.一个系统要独立于它的产品的创建.组合和表示时. 2.一个系统要由多个产品系列中的一个来配置时. 3.当你要强调一系列相关的产品对象的设计以便进行联合使用时. 4.当你提供一个产品类库,而只想显示它们的接口而不是实现时. 参与者 1.AbstractFactory 声明一个创建抽象产品对象的操作接口. 2.ConcreteFactory 实现创建具体产品对象的操作. 3.A…
2016-04-24 10:10:34 创建型模式:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式 注意:工厂模式可以分为三类: 1)简单工厂模式(Simple Factory) 2)工厂方法模式(Factory Method) 3)抽象工厂模式(Abstract Factory)  这三种模式从上到下逐步抽象,并且更具一般性. 而GOF在<设计模式>一书中将工厂模式分为两类:工厂方法模式(Factory Method)与抽象工厂模式(Abstract Factory),这是将简单…
对于建造者模式,小编个人理解为就是一个组装型的模式. 建造者模式 概述 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 适用性 1.当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时. 2.当构造过程必须允许被构造的对象有不同的表示时. 参与者 1.Builder 为创建一个Product对象的各个部件指定抽象接口. 2.ConcreteBuilder 实现Builder的接口以构造和装配该产品的各个部件. 定义并明确它所创建的表示. 提供一个检索产品…
类可以提供一个静态方法,返回类的一个静态实例,如Boolean包装类的一个获取实例的静态方法 public static Boolean valueOf(boolean b) { return (b ? TRUE : FALSE); } 优势: 1.有名称.当一个类需要多个带有相同签名的构造器时,就用静态工厂方法代替构造器,并慎重选择名称以突出它们之间的区别. 如:BigInteger.probablePrime(int bitLength, Random rnd) 返回一个随机的素数. 2.不…
工厂方法定义: 工厂方法 概述 定义一个用于创建对象的接口,让子类决定实例化哪一个类.FactoryMethod使一个类的实例化延迟到其子类. 适用性 .当一个类不知道它所必须创建的对象的类的时候. .当一个类希望由它的子类来指定它所创建的对象的时候. .当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候. 参与者 .Product 定义工厂方法所创建的对象的接口. .ConcreteProduct 实现Product接口. .Creator…
原型模式: 原型模式 概述 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. 适用性 .当一个系统应该独立于它的产品创建.构成和表示时. .当要实例化的类是在运行时刻指定时,例如,通过动态装载. .为了避免创建一个与产品类层次平行的工厂类层次时. .当一个类的实例只能有几个不同状态组合中的一种时. 建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类更方便一些. 参与者 . Prototype 声明一个克隆自身的接口. . ConcretePrototype 实现一个…
一:简单工厂模式的优点          --->在阎宏博士的<JAVA与模式>一书中开头是这样描述简单工厂模式的:简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式.简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例. --->模式的核心是工厂类.这个类含有必要的逻辑判断,可以决定在什么时候创建哪一个登录验证类的实例,而调用者则可以免除直接创建对象的责任.简单工厂模式通过这种做法实现了对责任的分割,当系统引入新的登录方式的时候无…
简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一.简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例,简单来说就是,通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类.简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现. 首先举个例子:创建两个类,一个Apple,一个Banana,都有个一方法 public class Apple{ public v…