博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式
阅读量:7096 次
发布时间:2019-06-28

本文共 1527 字,大约阅读时间需要 5 分钟。

创建型模式

简单工厂模式:根据传入参数,返回不同对象,比如一个鼠标工厂,传入1返回神州鼠标,传入2返回戴尔鼠标

工厂模式:鼠标工厂是个父类,有生产鼠标这个接口。 戴尔鼠标工厂,惠普鼠标工厂继承它,可以分别生产戴尔鼠标,惠普鼠标。 

抽象工厂模式:抽象工厂模式也就是不仅生产鼠标,同时生产键盘。 戴尔工厂,惠普工厂继承它,可以分别生产戴尔鼠标+戴尔键盘,和惠普鼠标+惠普键盘。 

  区别:简单工厂产出是一个产品(实例),抽象工厂产出是一个抽象(接口)。区别在于,若添加一个新的产品,前者是修改工厂,后者是创建新工厂(符合“闭合原则”)。

建设者模式:与工厂模式相比,建造者模式一般用来创建更为复杂的对象,而建造者模式中,建造者类一般只提供产品类中各个组件的建造,而将具体建造过程交付给导演类。由导演类负责将各个组件按照特定的规则组建为产品,然后将组建好的产品交付给客户端。

单例模式:主要是为了避免因为创建了多个实例造成资源的浪费,且多个实例由于多次调用容易导致结果出现错误,而使用单例模式能够保证整个应用中有且只有一个实例。

  饿汉模式和懒汉模式(双重校验)

private SingletonLanHan() {}    private static SingletonLanHan singletonLanHanFour;    public static SingletonLanHan getSingletonLanHanFour() {           if (singletonLanHanFour == null) {           synchronized (SingletonLanHan.class) {               if (singletonLanHanFour == null) {               singletonLanHanFour = new SingletonLanHan();               }           }           }           return singletonLanHanFour;   }
View Code

 

结构型模式

适配器模式:将一个类的接口转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以相互合作。这个定义还好,说适配器的功能就是把一个接口转成另一个接口。

代理模式( Proxy ):封装目标对象并限制外界对被代理对象的访问

行为型模式:

模板方法模式:定义:定义了一个算法的骨架,而将一些步骤延迟到子类中,模版方法使得子类可以在不改变算法结构的情况下,重新定义算法的步骤。

观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。

策略模式( Strategy ):定义个策略接口,不同的实现类提供不同的具体策略算法, 同时它们之间可以互相替换.

装饰者模式( Decorator ):动态的给一个对象添加一些额外的功能

责任链模式(Chain of Responsibility Pattern):拦截的类都实现统一接口,每个接收者都包含对下一个接收者的引用。将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。


 

spring的设计模式:

 

1.简单工厂 

2.工厂方法(Factory Method)

3.单例(Singleton) 

4.适配器(Adapter) 

6.代理(Proxy) 

.模板方法(Template Method) 

转载于:https://www.cnblogs.com/vhyc/p/9917383.html

你可能感兴趣的文章
Linux笔记
查看>>
Java并发编程_wait/notify和CountDownLatch的比较(三)
查看>>
固态硬盘(Solid State Drives)
查看>>
鹅厂优文|主播pk,如何实现无缝切换?
查看>>
Building an (awesome) API with NancyFX 2.0 + Dapper
查看>>
崔永元手撕范冰冰,小崔凭什么能赢?
查看>>
一个老鸟发的公司内部整理的 Android 学习路线图
查看>>
mount过程分析之一(基于3.16.3内核)【转】
查看>>
AnswerOpenCV一周佳作欣赏(0615-0622)
查看>>
AI金融知识自学偏量化方向-目录0
查看>>
加载的问题
查看>>
添加个人专栏
查看>>
MYSQL的存储过程和函数简单写法
查看>>
使用LXD搭建Web网站
查看>>
推荐两个小工具MediaInfo 和 netpersec
查看>>
php课程 12-42 php中类的关键字有哪些
查看>>
转载:Systemd 服务配置文件
查看>>
ECSHOP后台权限分配原理分析
查看>>
Java代码自动部署
查看>>
jboss eap6.1(5)(ejb升级)
查看>>