![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 80
一步一台阶
跬步行千里,滴水聚江海!
展开
-
单例模式中的懒汉模式和饿汉模式的最优写法
废话不多说,直接上最优写法:懒汉模式: class Singleton { private volatile static Singleton singleton; private Singleton (){} public static Singleton getSingleton() { if (singleton == null) {原创 2016-11-07 22:01:45 · 2759 阅读 · 0 评论 -
代码简洁之道 如何减少if else的嵌套层数
if-else 超过三层之后,代码的可读性就会大大降低。可以使用卫语句、策略模式、状态模式来改善代码结构。具体方案如下:卫语句 参考链接:https://blog.csdn.net/jw903/article/details/45506777 1.使用卫语句取代嵌套表达式 函数中的条件逻辑使人难以看清正常的执行途径。使用卫语句表现所有特殊情况。 动机:条件表达式通常有2种表现...原创 2019-04-04 19:41:16 · 6110 阅读 · 0 评论 -
设计模式之工厂模式 三种工厂模式的实现方式
什么是工厂模式?工厂模式就是将对象的创建交由工厂来实现,程序只管使用其中具体的方法即可。我们为什么要使用工厂模式?1.将对象的创建和对象的使用分开,降低耦合度,提供代码重复利用率;2.后期对于创建对象的修改成本小。虽然工厂模式有这么优势,但是并不是所有的场景都适用于工厂模式。我们总不能把所有的需要创建对象的地方都换成工厂模式吧?那就有点为了使用设计模式而使用工厂模式了。那么...原创 2019-05-29 10:48:50 · 1865 阅读 · 0 评论 -
从Java 动态代理模式 到spring AOP 再到spring事务管理 的逻辑脉络
上篇介绍了静态代理模式https://blog.csdn.net/liufangbaishi2014/article/details/90673154在看本文之前,读者最好,先浏览一下既然已经有了静态代理模式,为什么还要有动态代理模式呢?那我们先来谈下静态代理模式的局限性:1.一个代理类只能代理一类(实现了特定接口的)对象;2.一个代理类只能代理一个(特定接口的)方法;...原创 2019-05-31 10:52:43 · 201 阅读 · 0 评论 -
静态代理模式的两种理解方式
在介绍静态代理之前,大家先来了解下代理的含义。 举一个现实生活中的例子:歌星或者明星都有一个自己的经纪人,这个经纪人就是他们的代理人,当我们需要找明星表演时,不能直接找到该明星,只能是找明星的代理人。比如刘德华在现实生活中非常有名,会唱歌,会跳舞,会拍戏,刘德华在没有出名之前,我们可以直接找他唱歌,跳舞,拍戏,刘德华出名之后,他干的第一件事就是找一个经纪人,这个经纪人就是刘德华的...原创 2019-05-29 17:14:57 · 1393 阅读 · 0 评论