![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 78
设计模式
卷卷卷起来
java工程师
展开
-
设计模式-享元模式
享元模式:运用共享技术来有效地支持大量细粒度对象的复用,通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似对象的开销,从而提高系统资源的利用率。转载 2023-07-14 09:41:50 · 39 阅读 · 0 评论 -
设计模式-组合模式
上图可以看做是一个文件系统,这样的结构称之为树形结构。在树形结构中可以通过调用某个方法来遍历整个树,当找到某个叶子节点后,就可以对叶子节点进行相关的操作。可以将这颗树理解成一个大的容器,容器里面包含很多的成员对象,这些成员对象即可是容器对象也可以是叶子对象。但是由于容器对象和叶子对象在功能上面的区别,使得在使用的过程中必须要区分容器对象和叶子对象,但是这样就会给客户带来不必要的麻烦,作为客户,始终希望能够一致的对待容器对象和叶子对象。组合模式:又名部分整体模式,是用于把一组相似的对象当作一个单一的对象。转载 2023-07-13 23:26:46 · 41 阅读 · 0 评论 -
设计模式-代理模式
当访问对象不适合或者不能直接引用目标对象,可以提供一个代理以控制对该对象的访问,代理对象作为访问对象和目标对象之间的中介。Java 中的代理按照代理类生成时机不同又分为静态代理和动态代理;静态代理代理类在编译期就生成,而动态代理代理类则是在 Java 运行时动态生成;动态代理又有 JDK 代理和 CGLib 代理两种。转载 2023-07-13 18:52:32 · 46 阅读 · 0 评论 -
设计模式-适配器模式
如果去欧洲国家去旅游的话,他们的插座如下图最左边,是欧洲标准。而我们使用的插头如下图最右边的。因此我们的笔记本电脑,手机在当地不能直接充电。所以就需要一个插座转换器,转换器第 1 面插入当地的插座,第 2 面供我们充电,这样使得我们的插头在当地能使用。生活中这样的例子很多,手机充电器(将 220v 转换为 5v 的电压),读卡器等,其实就是使用到了适配器模式。将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。转载 2023-07-13 17:37:11 · 38 阅读 · 0 评论 -
设计模式-桥接模式
现在有一个需求,需要创建不同的图形,并且每个图形都有可能会有不同的颜色。可以利用继承的方式来设计类的关系:可以发现有很多的类,假如需要增加一个形状或再增加一种颜色,就需要创建更多的类。在一个有多种可能会变化的维度的系统中,用继承方式会造成类爆炸,扩展起来不灵活。每次在一个维度上新增一个具体实现都要增加多个子类。为了更加灵活的设计系统,此时可以考虑使用桥接模式。桥接模式:将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。转载 2023-07-12 23:32:07 · 56 阅读 · 0 评论 -
设计模式-装饰器模式
在不改变目标结构的情况下,动态的给对象增加功能先来看一个快餐店的例子:快餐店有炒面、炒先来看一个快餐店的例子:快餐店有炒面、炒饭等快餐,可以额外附加鸡蛋、火腿、培根这些配菜,当然加配菜需要额外加钱,每个配菜的价钱通常不太一样,那么计算总价就会显得比较麻烦。下面是使用继承方式的类图:使用继承的方式存在的问题:扩展性不好:如果要再加一种配料(火腿肠),我们就会发现需要给 FriedRice 和 FriedNoodles 分别定义一个子类。如果要新增一个快餐品类(炒河粉)的话,就需要定义更多的子类。转载 2023-07-12 22:59:30 · 56 阅读 · 0 评论 -
设计模式-外观模式
设计模式-外观模式原创 2023-07-12 19:09:50 · 123 阅读 · 0 评论