设计模式学习

1.单例模式

单例模式就是保证一个类只有一个对象。

(1)饿汉——类定义的时候就实例化了。

用的时候取就行了

(2)懒汉——等到第一次用的时候才去实例化

用的时候 有就直接用  没有就创建。

2.工厂模式

工厂模式就是把类都放在一起。

通过工厂去使用类。有点像spring 。你需要使用什么类都可以通过工厂去创建。spring 优秀的地方在于你需要使用什么类spring都会给你。主动与被动的关系吧。

3.代理模式

(1)静态代理

代理类直接调用方法 ,可以再调用方法前后做一下操作。

(2)动态代理

将代理类与被代理的类解耦,  动态选择 代理类 与 被代理的类

(3)CGLIB代理

与动态代理类似 都是将代理类与被代理的类解耦

不过 JDK实现动态代理需要实现类通过接口定义业务方法 

CGLIB代理是创建一个子类

CGLIB创建的动态代理对象比JDK创建的动态代理对象的性能更高,但是CGLIB创建代理对象时所花费的时间却比JDK多得多。所以对于单例的对象,因为无需频繁创建对象,用CGLIB合适,反之使用JDK方式要更为合适一些。同时由于CGLib由于是采用动态创建子类的方法,对于final修饰的方法无法进行代理

4.观察者模式

被观察者 维护一个观察者的列表。 发生动作是 告知列表中的每一个人。

直接看别人的代码就能看懂

面试——常用的设计模式_斯维特哈特的博客-CSDN博客

5.装饰着模式

这个也比较简单了。 就是每个类都有一个 父类的对象(其他子类) ,执行方法是 先执行一下 自己成员的这个方法。有点递归的感觉。同样看代码吧。

面试——常用的设计模式_斯维特哈特的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值