文章目录
- 设计模式
-
- 1.七大原则
-
- 1.单一职责原则
- 2.接口隔离原则
- 3.依赖倒转原则
-
- 代码实现
-
- 有问题代码
- 实现依赖倒转原则以后的代码
- 4.里氏替换原则
- 5.开闭原则
- 6.迪米特法原则
- **7.合成复用原则**
- 设计模式:
-
- 1.单例模式:
-
- 饿汉模式:
- 懒汉模式(双重if判断):
- 懒汉模式静态内部类:
- 枚举单例模式:
- 2.策略模式(把相同行为的不同实现进行封装)
- 3. 享元模式(Flyweight pattern)
- 4.代理模式
-
- 静态代理
- 动态代理(JDK代理)
- cglib代理
- 5.模板方法模式
- 6.观察者模式
- 7.工厂模式
-
- 7.1代码
- 7.2抽象出来的三个抽象类
- 7.3 把三个抽象类放到一个抽象类中封装
- 7.4 每个产品增加自己产品抽象类,继承(extends)抽象父类
-
- 7.41现代世界的人
- 7.42魔法世界的人
- 7.43客户端进行调用,修改MagicStickFactory这个产品就可以进行不同的调用
设计模式
1.七大原则
1.单一职责原则
(每个类或者每个方法只需要实现一个职责,不需要实现很多其他的功能。)在类中的方法足够多需要在类的层面遵守单一职责原则
方法遵循单一职责代码实现:
2.接口隔离原则
A通过接口B依赖于C(只要实现接口B的1,2,3方法),D通过接口B依赖于F(只需要 实现接口B的1,4,5方法),这样A就得实现所有的B接口的方法,D就得实现所有的B接口方法,导致浪费,且相关性强,所以得遵循接口最小原则,把 方法1 放在一个接口Interface1, 方法 2,3放在一个接口Interface2 ,方法4,5放在一个接口Interface3.
3.依赖倒转原则
- 高层模块不应该依赖低层模块,二者应该依赖其抽象(接口和抽象类)
- 抽象不应该依赖细节,细节(一般是java的实现类)应该依赖抽象
- 、依赖倒转的中心思想是面向接口编程
- 设计理念:以抽象为基础搭建的架构比以细节为基础的架构要稳定的多。
- java里面接口或者抽象类的目的是设计好规范(不去实现),实现一定是由那个实现类去操作。
- 继承时遵循里氏替换原则
代码实现
有问题代码
实现依赖倒转原则以后的代码
实现接口间依赖传递的三种方式:
- 通过接口传递实现依赖
- 通过构造方法依赖传递
- 通过setter方法依赖传递
代码:
4.里氏替换原则
5.开闭原则
6.迪米特法原则
7.合成复用原则
经典面试题目/p>
-
在项目的实际开发中哪里使用了ocp原则(工厂模式中有用)
-
spring中应用了哪些设计模式,原型模式在哪里 用到/p>
什么是解释器设计模式出它的UML类图,分析各个角色是什么/p>
-
spring框架中哪里使用到了解释器设计模式做源码级别分析
-
单例模式一共有几种实现方式代码实现,并说明各个的优点缺点。
单列设计模式有几种实现方式/p>
-
饿汉式 两种
-
懒汉式 三种
-
双重检查
-
静态内部类
设计模式概念:(design pattern)是对在软件设计普遍存在(反复出现)的各种问题,提出 的一种解决方案。
使用设计模式可以使用项目具有:可扩展性,维护性,可靠性(新增一个功能对原来的功能影响不大),可复用性,效率提高等等
设计模式:
1.单例模式:
饿汉模式:
懒汉模式(双重if判断):
package com.monkey.sigleton;public class LazyModeImprove { private static LazyModeImprove Instance; private LazyModeImprove(){}; private static LazyModeImprove getInstance(){声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!