Java设计模式三(原型模式、适配器模式)

来源:互联网 发布:网络整合营销包括 编辑:程序博客网 时间:2024/05/23 15:00

原型模式(Prototype)java中的创建型模式,和其它创建型模式的目的一样都是创建 出所需要的对象

原型模式的定义:

         是用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。

         由定义可以分析出使用原型模式的前提是有一个待被拷贝的对象,新的对象是以被创建的对象为基础clone()而来的,而不需要考虑被创建对象的创建过程。

  使用原型模式要知道克隆的概念:

   Java中克隆分为深克隆和浅克隆

        1、浅克隆:被复制对象的所有变量都含有与原来的对象相同的值,而所有的对象对其他对象的引用任然指向原来的对象。换言之,浅克隆仅仅复制所考虑的对象,而不是复制它所引用的对象。(继承自java.lang.Object类的clone()方法是浅克隆)

        例如:有一个对象a,a有“String name”属性且创建时值为“namea”,当对a进行浅克隆获取对象b,这时候把b的name属性值改为“nameb”,当我们打印a、b两个对象的属性时会发现对b的修改对a没有影响。

         2、深克隆:被复制的对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,儿不再是原有的那些被引用的对象。换言之,深复制把要复制的对象所引用的对象都复制了一遍。

         详解可以参考(http://www.jb51.net/article/62909.htm、http://www.cnblogs.com/yxnchinahlj/archive/2010/09/20/1831615.html)

         示例参考(http://baike.so.com/doc/5904119-6117020.html)

*******************************************************************************************************************************************************************************************

适配器模式

    适配器模式也称为转换器模式、变压器模式或包装模式

    著名的设计模式“四人帮”这样评价适配器模式:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类能够一起工作,做法是将类自己的接口包裹在一个已存在的类中。

   适配器的设计模式主要目的组合两个不相干的类,常用的两种方法,第一种解决方案是修改各自类的接口,但是如果没有源码,或者不愿意为了一个应用而修改各自的接口,则需要使用适配器模式,在两种接口之间创建一个混合接口。

   

   适配器模式中的角色

   目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口

   需要适配的类(Adaptee):需要适配的类或者适配着类

   适配器(Adapter):通过包装一个需要适配的对象,把原接口装换成目标接口


在android 中适配器非常常用:ListView与Adapter的应用就是典型的适配器模式。

   把Adapter通过转换变为ListView所需要的另一种接口,从而通过Adapter把ListView与数据相结合,展示出来 

    参考(http://blog.csdn.net/tianfeng701/article/details/8775225)













0 0
原创粉丝点击