设计模式
文章平均质量分 89
设计模式的学习,并结合主流开源软件的源码分析该模式的应用
tony_code_2017
开心就好
展开
-
【设计模式】学习之结构型 适配器模式-装饰器模式-代理模式
本篇主要学习适配器模式,装饰器模式,代理模式的使用和结合开源组件源码进行分析,最后对他们作以比较 适配器模式 适配器模式,提起适配器我们首先想到的就是春天框架中的RequestMappingHandlerAdapter,那么我们看看它的顶级接口的的HandlerAdapter的注释: 其中第一段的注释如下: 此接口用于允许{@link DispatcherServlet}无限...原创 2018-12-04 18:11:48 · 544 阅读 · 0 评论 -
【设计模式】学习之创建型 原型模式
1.Object.clone()方法 在学习原型模式以前,我们先学习下Object对象的一个clone()方法,JDK1.8源码如下: /** * Creates and returns a copy of this object. The precise meaning * of "copy" may depend on the class of the object...原创 2018-11-28 22:56:21 · 146 阅读 · 0 评论 -
【设计模式】学习之创建型 单例模式
提起单例模式,我们一般首先想到的就是Spring 框架中的Bean的作用域singleton,当一个bean的作用域为单例的时候,这个bean在Spring 的容器中只有一个实例化的对象。那么我们如何实现一个单例对象呢? 首先,构造函数私有化,这样子就只能在该类中调用new 方法创建该类的对象。其次,变量必须是类变量来接收这个创建的实例对象;最后提供一个公共的静态方法,对外提供获取...原创 2018-11-27 23:32:29 · 123 阅读 · 0 评论 -
【设计模式】学习之创建型 建造者模式
上一篇 我们学习了工厂模式 ,这一篇我们学习建造者模式,所谓建造者模式就是要我们像现实生活中的建筑建造者一样 一个步骤一个步骤地建造自己的伟大建筑,因为伟大的建筑都是复杂的。当我们要建造一个复杂的对象时,只能是一步一步的进行构造,而不能像平常那样,直接使用一个构造函数进行构造。接下来我们还是结合MyBatis源码学习该模式: 1. MappedStatement 该类是MyBatis中...原创 2018-11-26 11:31:31 · 158 阅读 · 0 评论 -
【设计模式】学习之创建型 工厂模式
工厂模式,在开发中广泛使用的一种用于对象创建的设计模式,尽管有时候我们可能并不知道自己使用的就是工厂模式或者看到的开源软件源码中用到的就是工厂模式。开源软件中的MyBatis中的SqlSession的创建就是使用了工厂模式,分析如下: 接口 SqlSessionFactory /** * Creates an {@link SqlSession} out of a con...原创 2018-11-25 10:59:05 · 112 阅读 · 0 评论 -
【设计模式】学习之开篇 设计模式浅谈与设计模式六大原则
设计模式,Design Pattern 代表了构造某一事物的最佳实践。软件设计模式通常被有经验的面向对象的软件开发人员所采用,因为他们一些场景问题的最佳解决方案,这些解决方案是众多开发人员,设计人员在相当长的一段时间内从错误和经验中总结而来的。在我们阅读一些开源框架的时候,总会感觉有一些困惑,其中一部分原因就是我们不理解这其中涉及的设计模式。尤其像Spring,MyBatis等较为著名的开源软件更...原创 2018-11-17 18:19:29 · 133 阅读 · 0 评论