易截截图软件、单文件、免安装、纯绿色、仅160KB

JAVA模式一 FactoryMethod【转】


引:工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口
  一 、工厂方法(Factory Method)模式
 
 工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角
色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。
  二、 工厂方法模式角色与结构
  抽象工厂(Creator)角色:是工厂方法模式的核心,与应用程序无关。任何在模式中创建的对象的工厂类必须实现这个接口。
  具体工厂(Concrete Creator)角色:这是实现抽象工厂接口的具体工厂类,包含与应用程序密切相关的逻辑,并且受到应用程序调用以创建产品对象。在上图中有两个这样的角色:BulbCreator与TubeCreator。
  抽象产品(Product)角色:工厂方法模式所创建的对象的超类型,也就是产品对象的共同父类或共同拥有的接口。在上图中,这个角色是Light。
  具体产品(Concrete Product)角色:这个角色实现了抽象产品角色所定义的接口。某具体产品有专门的具体工厂创建,它们之间往往一一对应。
   
  三、一个简单的实例
   
// 产品 Plant接口
public interface Plant { }
//具体产品PlantA,PlantB
public class PlantA implements Plant {
 public PlantA () {
  System.out.println("create PlantA !");
 }
 public void doSomething() {
  System.out.println(" PlantA do something ...");
 }
}
public class PlantB implements Plant {
 public PlantB () {
  System.out.println("create PlantB !");
 }
 public void doSomething() {
  System.out.println(" PlantB do something ...");
 }
}
// 产品 Fruit接口
public interface Fruit { }
//具体产品FruitA,FruitB
public class FruitA implements Fruit {
 public FruitA() {
  System.out.println("create FruitA !");
 }
 public void doSomething() {
  System.out.println(" FruitA do something ...");
 }
}
p


相关文档:

java入门

 Java学习从入门到精通 
一、 JDK (Java Development Kit) 
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......

java会合构架中TreeSet的奇怪现象两个

先贴出输出:
TreeSet Integer
会合为:[-一, 零, 六, 八, 66]
改动temp为:55
聚合为:[-一, 零, 六, 八, 66]聚合尚未由于temp的改变而改变,说明java对根本部类做了非一般处置
-----------------------------
TreeSet 自定义的Int
会合为:[六, 66]
treeSet.contains(六)= true
treeSet.contains(66)= t ......

JAVA移位运算符

       移位运算符就是在二进制的基础上对数字进行平移。
       按照平移的方向和填充数字的规则分为三种:<<(左移)、>>(带符号右移)和>>>(无符号右移)。
  在移位运算时,byte、short和char类型移位后的结果会变成int类型, ......

Java连接各种数据库的配置方法

Java连接各种数据库的配置方法MySQL
:String Driver="com.mysql.jdbc.Driver"
;  //驱动程序String URL="jdbc:mysql://localhost:3306/db_name"
;  //连接的URL,db_name为数据库String Username="username"
;  //用户名String Password="password"
;  / ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号