JDK 中用到了那些设计模式?Spring 中用到了那些设计模式?这两个问题,在面试中比较常见。我在网上搜索了一下关于 Spring 中设计模式的讲解几乎都是千篇一律,而且大部分都年代久远。所以,花了几天时间自己总结了一下,由于我的个人能力有限,文中如有任何错误各位都可以指出。另外,文章篇幅有限,对 ...
分类:
编程语言 时间:
2019-05-29 14:50:40
阅读次数:
2954
设计模式的宗旨就是:重用。 在面向对象中,类是用于生成对象的代码模版,而设计模式是用于解决共性问题的代码模版。 遵循这样的模板,我们可以设快速地设计出优秀的代码。 注意,设计模式只是模板,不是具体的代码。 它是为了代码复用,增加可维护性。 在学习设计模式的时候,有几个概念让我很难接受,这可能是从过程 ...
分类:
Web程序 时间:
2019-05-26 21:18:13
阅读次数:
176
一、JML简介 1.1 JML与契约式设计 说起JML,就不得不提到契约式设计(Design by Contract)。这种设计模式的始祖是1986年的Eiffel语言。它是一种限定了软件中每个元素所必需的责任与义务的开发模式,程序设计中的每个元素都需要用规范的语言精准地限定其前置条件(Precon ...
分类:
其他好文 时间:
2019-05-22 14:03:16
阅读次数:
111
一、概述 设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。——百度百科。 二、七大原 ...
分类:
其他好文 时间:
2019-05-15 15:57:42
阅读次数:
120
设计模式的六大原则 单一职责原则(Single responsibility principle):一个类的职责应该单一 (类如果职责单一,那导致类修改的原因也会唯一,不会因为多种原因都要去修改类) 开放-关闭原则(Open Close Principle):也叫开闭原则,要求程序对扩展开放,对修改 ...
分类:
其他好文 时间:
2019-05-14 09:48:20
阅读次数:
130
虽然我们都知道有26个设计模式,但是大多停留在概念层面,真实开发中很少遇到,Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式。Mybatis至少遇到了以下的设计模式的使用:Builder模式,例如SqlSessionFactoryBuilder、XMLConfigBuilder、XMLMapperBuilder、XMLStatementBuil
分类:
其他好文 时间:
2019-05-13 20:15:04
阅读次数:
114
1. 软件设计模式概述 2. GoF 的 23 种设计模式的分类和功能 3. UML中的类图及类图之间的关系 4. 开闭原则——面向对象设计原则 5. 里氏替换原则——面向对象设计原则 6. 依赖倒置原则——面向对象设计原则 7. 单一职责原则——面向对象设计原则 8. 接口隔离原则——面向对象设计 ...
分类:
编程语言 时间:
2019-05-11 17:50:06
阅读次数:
193
关于c++设计模式的总结抽象工厂,决定产品系列的产品的组合,特点是创建同一款式的产品系列。缺点是增加产品组件,需要修改抽象工厂接口,影响抽象工厂子类。builder,决定产品的各个部分的build的过程。替换相应的builder子类,就可以修改产品相应的各个part部件的实现;替换相应的Director子类,就可以修改builder组件的调用顺序(即控制创建过程)。工厂方法,产品子类和creato
分类:
编程语言 时间:
2019-05-08 19:01:56
阅读次数:
140
背景:讲设计模式的时候,最好能够结合源码来进行理解,逼格更高 策略模式 泛型接口比较实用的使用场景就是用作策略模式的公共策略,比如 Java 解惑:Comparable 和 Comparator 的区别 中介绍的 Comparator,它就是一个泛型接口 迭代器模式 iterator 适配器模式 容 ...
分类:
编程语言 时间:
2019-05-08 09:29:52
阅读次数:
156
一、SpringMVC简介 SpringMVC是一种基于Spring实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,使用了MVC架构模式的思想,将web层进行职责解耦,并管理应用所需对象的生命周期,为简化日常开发,提供了很大便利。 SpringMVC提供了总开关DispatcherSe ...
分类:
编程语言 时间:
2019-05-07 00:57:34
阅读次数:
148