public class Test { public static void main(String[] args){ Creator ca=new ConcreteCreatorA(); ca.create().doSth(); Creator cb=new ConcreteCreatorB(); cb.create().doSth(); } } interface Creator{ Product create(); } class ConcreteCreatorA implements C…
2016-04-24 10:10:34 创建型模式:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式 注意:工厂模式可以分为三类: 1)简单工厂模式(Simple Factory) 2)工厂方法模式(Factory Method) 3)抽象工厂模式(Abstract Factory)  这三种模式从上到下逐步抽象,并且更具一般性. 而GOF在<设计模式>一书中将工厂模式分为两类:工厂方法模式(Factory Method)与抽象工厂模式(Abstract Factory),这是将简单…
Java中创建数组的几种方法 public static void main(String[] args) { //创建数组的第一种方法 int[] arr=new int[6]; int intValue=arr[5]; //System.out.println(intValue); //创建数组的第二种方法 int[] x={1,2,3,4}; //System.out.println(x[1]); //创建数组的第三种方法. int[] y= new int[]{1,2,3,4,5}; i…
工厂方法定义: 工厂方法 概述 定义一个用于创建对象的接口,让子类决定实例化哪一个类.FactoryMethod使一个类的实例化延迟到其子类. 适用性 .当一个类不知道它所必须创建的对象的类的时候. .当一个类希望由它的子类来指定它所创建的对象的时候. .当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候. 参与者 .Product 定义工厂方法所创建的对象的接口. .ConcreteProduct 实现Product接口. .Creator…
本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020 工厂方法模式和抽象工厂模式不好区分清楚: 工厂方法模式特点: 1. 一个抽象产品类,能够派生出多个详细产品类. 2. 一个抽象工厂类,能够派生出多个详细工厂类. 3. 每一个详细工厂类仅仅能创建一个详细产品类的实例. 抽象工厂模式特点: 1. 多个抽象产品类,每一个抽象产品类能够派生出多个详细产品类. 2. 一个抽象工厂类.能够派生出多个详细工厂类. 3. 每一个详细工厂类能够…
JAVA中创建线程的方式有三种,各有优缺点,具体如下: 一.继承Thread类来创建线程 1.创建一个任务类,继承Thread线程类,因为Thread类已经实现了Runnable接口,然后重写run()方法,run()方法中的内容就是需要线程完成的任务. 2.创建一个任务类的对象,即创建了线程对象. 3.调用任务类对象的start()方法,来启动一个线程. 代码实例: public class TestThread extends Thread { public void run() { for…
摘要:Template Method模式是比较简单的设计模式之一,但它却是代码复用的一项基本的技术,在类库中尤其重要. 主要内容 1.概述 2.Template Method解说 3..NET中的Template Method模式 4.适用性及实现要点 概述 变化一直以来都是软件设计的永恒话题,在XP编程中提倡拥抱变化,积极应对.如何更好的去抓住变化点,应对变化?如何更好的提高代码复用?通过学习Template Method模式,您应该有一个新的认识. 意图 定义一个操作中的算法的骨架,而将一些…
什么是抽象工厂,再次学习. 抽象工厂 概述 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类. 适用性 1.一个系统要独立于它的产品的创建.组合和表示时. 2.一个系统要由多个产品系列中的一个来配置时. 3.当你要强调一系列相关的产品对象的设计以便进行联合使用时. 4.当你提供一个产品类库,而只想显示它们的接口而不是实现时. 参与者 1.AbstractFactory 声明一个创建抽象产品对象的操作接口. 2.ConcreteFactory 实现创建具体产品对象的操作. 3.A…
原型模式: 原型模式 概述 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. 适用性 .当一个系统应该独立于它的产品创建.构成和表示时. .当要实例化的类是在运行时刻指定时,例如,通过动态装载. .为了避免创建一个与产品类层次平行的工厂类层次时. .当一个类的实例只能有几个不同状态组合中的一种时. 建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类更方便一些. 参与者 . Prototype 声明一个克隆自身的接口. . ConcretePrototype 实现一个…
一.概念 1.概念 模板方法模式是一种基于继承的代码复用技术,它是一种类行为型模式. 它定义一个操作中的算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. 2.举例理解 网上举了一个请客吃饭的例子,我觉得解释的挺好的.我们每个人去请客吃饭.一般都含三个步骤:点单.吃东西.买单,而且顺序就是从做左到右的. 在这三个步骤中,点单和买单大同小异,最大的区别在于第二步--吃什么?吃面条和吃满汉全席可大不相同,如图1所示 所以从开发角度来分析,有…