zoukankan      html  css  js  c++  java
  • 原型模式

    设计模式的意义在于:面向业务内容、业务数据结构和系统架构,高内聚低耦合、优雅的将平面逻辑立体化。

     1 package designPattern;
     2 /**
     3  * 原型模式
     4  * @author Administrator
     5  */
     6 public class C20_PrototypeTest {
     7 
     8     /**
     9      * 用原型实例指定创建对象的种类,并且通过copy这些原型创建新的对象
    10      * 适用性:
    11      * 1,一个系统应该独立于他的产品创建,构成和表示
    12      * 2,要实例化的类是运行时指定的,例如:通过动态加载
    13      * 3,为了避免创建一个与产品类层次平行的的工厂类层次
    14      * 4,当一个类的实例只能有几个不同状态组合中的一种
    15      * 建立适当的模型并克隆他们可能比每次用合适的状态手工实例化该类更方便一些
    16      */
    17     public static void main(String[] args) {
    18         Prototype pro1=new ConcretePrototype("concretePrototype");
    19         Prototype pro2=(Prototype)pro1.clone();
    20         System.out.println(pro2.getName());
    21         System.out.println(pro1.getName());
    22     }
    23 }
    24 //1,Prototype 声明一个克隆自身的接口
    25 class Prototype implements Cloneable
    26 {
    27     private String name;
    28     public String getName() {
    29         return name;
    30     }
    31     public void setName(String name) {
    32         this.name = name;
    33     }
    34     @Override
    35     protected Object clone()
    36     {
    37         try {
    38             return super.clone();
    39         } catch (Exception e) {
    40             System.out.println(e.getMessage());
    41             return null;
    42         }        
    43     }    
    44 }
    45 
    46 //2,ConcretePrototype 实现一个克隆自己的操作
    47 class ConcretePrototype extends Prototype
    48 {
    49     ConcretePrototype(String name)
    50     {
    51         setName(name);
    52     }
    53 }

    环境:JDK1.6,MAVEN,tomcat,eclipse

    源码地址:http://files.cnblogs.com/files/xiluhua/designPattern.rar

    欢迎亲们评论指教。

  • 相关阅读:
    window.location.href的使用方法
    hdu 2850 Load Balancing (优先队列 + 贪心)
    几种常见模式识别算法整理和总结
    【DateStructure】 Charnming usages of Map collection in Java
    编写你自己的单点登录(SSO)服务
    微软历史最高市值是多少?
    Tomcat配置一个ip绑定多个域名
    递归算法:求序列的全排列
    SMTP协议分析
    platform_device与platform_driver
  • 原文地址:https://www.cnblogs.com/xiluhua/p/4413816.html
Copyright © 2011-2022 走看看