目标黑马,我的自学之路:第十三章 设计模式

一、单例设计模式

       单例设计模式用于解决某一个类中只有一个对象。

       想要保证对象的唯一性,首先要避免其他程序过多的建立本类对象,于是我们把构造函数私有化,其次要让其他程序能访问到本类对象,所以在本类中创建一个本类对象并将其私有化,并用静态修饰,最后为了方便其他程序访问本类对象,提供一个方法访问到该对象,该方法是静态的。

单例设计模式有两种形式:饿汉式和懒汉式,懒汉式能够实现对象的延迟加载,但当多个线程共同访问时,容易出现安全问题,可以定义同步函数或同步代码块解决,我们发现这样做当线程访问时每次都需要判断锁,效率较低,于是我们通过双重判断的形式提高效率。

 

二、模版方法设计模式

       在定义功能时,功能的一部分是确定的,一部分是不确定的,确定的部分在使用不确定的部分,那么这时就将不确定的部分暴露出去,由该类的子类完成,这种设计模式就是模版方法设计模式。

三、装饰设计模式

       当想要对已有的对象进行功能增强时,可以定义类,将已有的对象传入,基于已有的功能并提供加强功能,那么自定义的类成为装饰类,这种设计模式称为模版方法设计模式。

       装饰模式与继承的区别:装饰模式比继承灵活 (继承之后方法被覆盖,只能使用该类中的方法,而装饰模式既能使用装饰类中的方法,也能使用原来类中的方法),避免了继承体系的臃肿,而且降低了类与类之间的关系(在一个体系中,我们要对一个类进行功能增强,如果采用继承的方法,那么需要对每一个子类分别继承并提供加强功能,使得原本的体系变得臃肿,装饰模式只需要基于父类的功能提供更强的功能,在对子类进行装饰时可以直接调用子类中已复写的父类的方法)。

四、享元设计模式

      在基本数据类型与基本数据类型包装类的自动装箱与拆箱中,我们发现,当数值在byte范围内时,多次创建相同数据的对象是相等的,这是因为新特性中,对于byte范围内的数值,因为经常用到,所以一旦在内存中存在,再次创建时就不会开辟新的空间,而是指向已有的对象,这种设计模式就是享元模式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值