![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
Bee.F
这个作者很懒,什么都没留下…
展开
-
抽象工厂模式(通俗易懂)
抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。理解产品族和产品等级产品族:一个品牌下面的所有产品;例如华为下面的手机,路由器,电脑 称为华为的产品族;产品等级:多个品牌下面的同种产品;例如华为和小米下面的手 称为一个产品等级;类图分析:以下图为例,有手机和路由器两种产品,有华为和小米两种品牌,两种品牌都可以生产手机和路由器;有手机和路由器原创 2020-11-25 00:09:11 · 43845 阅读 · 32 评论 -
工厂模式(java 源码分析)
工厂模式工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。工厂模式可以将实例化对象的代码提取出来,放到一个类中统一管理和维护,达到依赖关系的解耦,提高扩展和可维护性;简单来说,对象不再通过new 进行创建,而是工厂来创建对象,这样做的好处是可以屏蔽创建对象的细节(例如需要大量传参),对外提供一个创建对象的统一方法,实现了创原创 2020-08-26 22:00:02 · 508 阅读 · 0 评论 -
适配器模式(SpringMVC源码分析)
现实生活中的例子1、不同国家的插座是有区别的,如果我们去国外旅游,需要带上国外的插头转换器,来能兼容国外的插座;2、手机的耳机孔有圆头和扁头,如果扁头的耳机孔想接圆头的耳机就需要一个耳机的转换器;上述所说的转换器,其实就是适配器;它是用来做兼容的;基本概念适配器模式(Adapter Pattern):将某个类的接口转换成客户端期望的另一个接口,让原本因接口不匹配不能一起工作的两个类可以协同工作。其别名为包装器(Wrapper);适配器模式属于结构型模式;主要分为三类:类适配器模式、对象适配原创 2020-08-22 10:00:19 · 2456 阅读 · 2 评论 -
访问者模式
访问者模式介绍最复杂的设计模式,并且使用频率不高,《设计模式》的作者评价为:大多情况下,你不需要使用访问者模式,但是一旦需要使用它时,那就真的需要使用了。访问者模式是一种将数据操作和数据结构分离的设计模式。(觉得太抽象,可以看下面的例子)。访问者模式的使用场景对象结构比较稳定,但经常需要在此对象结构上定义新的操作。 需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而需要...转载 2020-03-03 00:15:13 · 124 阅读 · 0 评论 -
单例模式
所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。比如 Hibernate 的 SessionFactory,它充当数据存储源的代理,并负责创建 Session 对象。SessionFactory 并不是轻量级的,一般情况下,一个项目通常只需要一个 SessionFactory 就够,这是就会使用到单例...原创 2020-02-16 21:17:25 · 598 阅读 · 1 评论 -
代理模式(详细+源码分析)
代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象;这样做的好处是可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能;被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象;代理模式有不同的形式, 主要有三种 静态代理、动态代理 (JDK 代理、接口代理)和 Cglib 代理 (可以在内存动态的创建对象,而不需要实现接口, 他是属...原创 2020-01-27 00:33:38 · 294 阅读 · 0 评论 -
设计模式-外观者模式
外观者模式外观模式(Facade),也叫“过程模式:外观模式为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用;外观模式通过定义一个一致的接口,用以屏蔽内部子系统的细节,使得调用端只需跟这个接口发生调用,而无需关心这个子系统的内部细节;对应的类图外观类(Facade): 为调用端提供统一的调用接口, 外观类知道哪些子系统负责处理请求...原创 2020-01-27 00:27:20 · 153 阅读 · 0 评论 -
设计模式-装饰者模式
咖啡馆订单项目问题咖啡种类/单品咖啡:Espresso(意大利浓咖啡)、ShortBlack、LongBlack(美式咖啡)、Decaf(无因咖啡);调料:Milk、Soy(豆浆)、Chocolate;要求在扩展新的咖啡种类时,具有良好的扩展性、改动方便、维护方便;使用 OO 的来计算不同种类咖啡的费用: 客户可以点单品咖啡,也可以单品咖啡+调料组合。我们可以一个给每一种咖啡创建一个...原创 2020-01-24 09:05:25 · 215 阅读 · 0 评论 -
设计模式七大原则
设计模式编写软件过程中,程序员面临着来自耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性等多方面的挑战,设计模式是为了让程序具有更好以下特性:1) 代码重用性 (即:相同功能的代码,不用多次编写)2) 可读性 (即:编程规范性, 便于其他程序员的阅读和理解)3) 可扩展性 (即:当需要增加新的功能时,非常的方便,称为可维护)4) 可靠性 (即:当我们增加新的功能后,对原来的功能没有影...原创 2020-01-20 20:26:38 · 143 阅读 · 0 评论