设计模式本来没什么用,但是如果能够了解就能在面试中提升逼格。
常见的设计模式有23 种之多,但是常用的 只有9种,本文简单介绍一下我对这九种设计模式的简单理解 以及在ssm ssh框架中的体现。
- 单例模式(单态模式)保证一个类仅有一个实例,并提供一个访问它的全局访问点。
实现步骤:(1) 将采用单例设计模式的类的构造方法私有化(采用private修饰)。
(2) 在其内部产生该类的实例化对象,并将其封装成private static类型。
(3) 定义一个静态方法返回该类的实例。
应用:数据库连接池的设计一般采用单例模式用以节省资源和保证数据库解耦。
spring容器中大量采用工厂模式和单例模式。并且Spring下默认的bean均为singleton,可以通过singleton=“true|false” 或者 scope=“?”来指定 -
工厂模式( 程序在接口和子类之间加入了一个过渡端,通过此过渡端可以动态取得实现了共同接口的子类实例化对象。)
spring中通过@ autowire @resource注解的service 和 dao层即时 工厂模式的体现。 -
观察者模式(没搞懂)
-
策略模式
定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。
应用:将方法抽象出来,工具类的应用。 -
代理模式
-
适配器模式
-
门面模式(将底层的原子方法封装在上层的业务逻辑方法中,对外提供一个接口)
三层设计模式中service和dao层的关系 -
模板模式(接口的继承)
参考链接:https://www.cnblogs.com/tytr/p/6119573.html
https://blog.youkuaiyun.com/tuolaji8/article/details/47722873