总结学习过的设计模式的区别

我们知道设计模式主要是分为三种,下面主要是就自己知道的六种模式分别细说下
创建型模式:工厂模式 (这里就不细分简单工厂,工厂方法,抽象工厂),单例模式,

行为型模式:观察者模式

结构型模式:适配器模式 装饰模式 代理模式

下面就是比较同类型的设计模式的区别
工厂模式,单例模式的比较
个人感觉就是单例模式比较适合于工具类,也就是说这个类或者是一个对象而言是独一无二的,但是工厂模式而言生产而言是创建出统一类型的产品,选择性比较大
第二点就是线程安全这一方面:单例模式涉及到线程安全这一方面的考虑了

代理模式与装饰模式的比较
代理模式主要是分为静态代理与动态代理,其中静态代理与装饰模式有点相似,个人理解可以说装饰模式是在静态代理上多装饰一个角色,多了一个具体的装饰角色,代码设计也是感觉差不多
,但是动态代理采用了jdk动态代理以及cglib动态代理,这两种采用的底层技术又有点不一样
其二两者的侧重点又有点不同:代理模式主要是解决通过代理来实现对对象的访问这么一个目的,但是装饰模式更多的还是对于功能的新增与删减

适配器模式与代理模式,以及装饰模式的区别
适配器模式主要解决的就是现有的接口不适合客户端需求的接口要求,才会通过适配器来对接口进行适配
其二:就是两者的代码设计这一块也是有很大的区别: 在适配器模式中,适配器角色类中设计时的类主要就是注入现有的类,然后就是实现客户端给定的一个接口,然后实现符合需求的方法即可

发布了51 篇原创文章 · 获赞 0 · 访问量 748

猜你喜欢

转载自blog.csdn.net/a_liuren/article/details/103757426