设计模式

原创 2018年04月17日 16:23:47

1、原型模式

不通过new关键词来产生一个对象,而是通过对象复制来实现的模式叫做原型模式。

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

Java中使用Cloneable标识clone方法。必须腹泻clone方法,才说明对象可以被拷贝,这里复写的是Object类中的clone方法。

通用代码:

public class PrototypeClass implements Cloneable{
@Override
public PrototypeClass clone()
{
PrototypeClass prototypeClass=null;
try{
prototypreClass=(PrototypeClass) super.clone();
catch(CloneNotSupportException e)
{//异常处理
}
return prototypeClass;
}
}
}

注意事项:

Java的浅拷贝和深拷贝问题。Java Object的clone()方法默认是浅拷贝的,指的是:

(1)类的成员变量中可变的引用对象,默认不拷贝;

(2)原始类型、不可变对象拷贝;

(3)String对象比较特殊,通过字符串池在需要的时候才在内存中创建新的字符串。

要想实现深拷贝,必须在复写clone方法中专门写针对成员变量的拷贝。

2、策略模式

定义一组算法,将每个算法封装起来,使他们之间可以互换。

context封装角色。策略模式的封装角色和被封装的策略类不是同一个接口。如果是同一个接口,就成为了代理模式。

封装角色的方法:(1)类中定义策略(私有的策略引用成员);(2)在构造函数中设置具体的策略;(3)在实施中通过多态实现不同的策略;






版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37693059/article/details/79973663

设计模式经典书籍推荐

很多朋友问学习设计模式的书籍,老大沧浪在FAQ里有个简短的叙述,这里我引申一下,说说自己看过或者翻过的设计模式书籍,由于水平所限,肯定有不对的地方,希望大家指正,如果大家看到好的模式相关书籍,希望能回...
  • a316212802
  • a316212802
  • 2016-03-23 10:35:24
  • 15235

三个基本设计模式

本文参考慕课网《大话PHP设计模式》-第五章内容编写,视频路径为:http://www.imooc.com/video/4876 推荐阅读我之前的文章: php的设计模式 三种基本设计模式,包括: ...
  • zhengwish
  • zhengwish
  • 2016-06-23 17:46:42
  • 717

几个比较重要的设计模式的总结与应用

1. 设计模式分为创建型,结构型,行为型。   2. 创建型 2.1 工厂方法。生产同一接口的不同产品。 如:Spring Aop中AopProxyFactory(具体实现类为Defaul...
  • sum_rain
  • sum_rain
  • 2015-05-04 22:24:01
  • 1705

Android 设计模式

项目开发中发现问题、解决问题这个过程中会出现很多问题,比如重复出现、某个问题的遗留,这些问题的本质就是设计模式。今天记录设计模式的知识点。...
  • banketree
  • banketree
  • 2014-05-13 16:04:56
  • 52223

Java设计模式-32讲视频百度盘

  • 2016年10月11日 09:23
  • 241B
  • 下载

Android 常用设计模式(一)

由于项目变更的频繁性,作为一名程序员,我们需要掌握设计模式的必要性,就不言而喻~~,下面就是一些我自己学习的设计模式总结。 接下来,主要是针对几个比较常用模式进行讲解,主要是以下几种: 观察...
  • u012583459
  • u012583459
  • 2015-07-27 08:37:01
  • 4528

设计模式学习难度系数排名

这是yqj2065感觉的每个设计模式学习难度系数。
  • yqj2065
  • yqj2065
  • 2014-09-13 20:14:52
  • 2599

常用设计模式及例子(五)

 13、策略模式(strategy) 策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。需要设计一个接口,为一系列实现类提供统一的方法,...
  • cike_001
  • cike_001
  • 2017-06-07 15:12:36
  • 253

设计模式的三种类型

设计模式分为三种类型,共23类。 一、创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。 二、结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模...
  • cyjch
  • cyjch
  • 2016-05-26 13:29:08
  • 3593

Android设计模式之23种设计模式一览

Android设计模式之23种设计模式一览 一  什么是设计模式? (1)基本定义:设计模式(Design pattern)是一套被反复使用的代码设计经验的总结。使用设计模式的目的是为了可重用代码...
  • happy_horse
  • happy_horse
  • 2016-03-16 21:03:57
  • 16944
收藏助手
不良信息举报
您举报文章:设计模式
举报原因:
原因补充:

(最多只允许输入30个字)