设计模式
foralllove
遗憾终是遗憾
展开
-
设计模式二十三之适桥接模式
1.什么是桥接模式将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。2.桥接模式优缺点抽象与实现分离,扩展能力强 其实现细节对客户透明缺点是:由于聚合关系建立在抽象层,要求开发者针对抽象化进行设计与编程,能正确地识别出系统中两个独立变化的维度,这增加了系统的理解与设计难度。3角色...原创 2021-08-23 00:46:31 · 92 阅读 · 0 评论 -
设计模式二十三之适配器模式
1.什么是适配器模式转换不同系统的资源为目标系统可识别处理的资源。例如充电头(统一处理电流降压为手机可支持的电压)2.适配器优缺点将目标类和适配者类解耦,通过引入一个适配器类来重用现有的适配者类,而无须修改原有码。 增加了类的透明性和复用性,将具体的实现封装在适配者类中,对于客户端类来说是透明的,而且提高了适配者的复用性。 灵活性和扩展性都非常好,通过使用配置文件,可以很方便地更换适配器,也可以在不修改原有代码的基础上增加新的适配器类,完全符合“开闭原则”。...原创 2021-06-20 18:31:40 · 84 阅读 · 0 评论 -
设计模式二十三之代理模式
目录1.什么是代理模式2.优缺点3.工厂模式的角色静态代理动态代理Cglib代理1.什么是代理模式通过中介进行访问,解决隐藏和保护请求方的功能。2.优缺点优点: 1.隐藏客户端,起到保护隔离的效果 2.扩展客户端请求功能 3.降低客户端和目标服务的系统耦合缺点: 1.通过代理处理,增加系统程度,增加系统复杂性,同时降低访问速度3.工厂模式的角色原始接口请求和实现public interface P...原创 2021-06-13 18:24:03 · 109 阅读 · 0 评论 -
设计模式二十三之工厂模式--建造者模式
1.什么是建造者模式指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成。它将变与不变相分离,即产品的组成部分是不变的,但每一部分是可以灵活选择的。2.优缺点优点:高内聚低耦合缺点:维护成本大3.适用场景复杂产品的构建4.角色产品:@Datapublic class Car { private String engine; priva..原创 2021-04-18 20:19:57 · 114 阅读 · 1 评论 -
设计模式二十三之工厂模式--抽象工厂模式
1.什么是抽象工厂模式是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。解决工厂方法模式无法处理多产品问题。2.优缺点优点:可以在类的内部对产品族中相关联的多等级产品共同管理,而不必专门引入多个新的类来进行管理。 当需要产品族时,抽象工厂可以保证客户端始终只使用同一个产品的产品组。 抽象工厂增强了程序的可扩展性,当增加一个新的产品族时,不需要修改原代码,满足开闭原则缺点: 新增产品种类工厂都需要更新..原创 2021-04-04 20:29:10 · 197 阅读 · 1 评论 -
设计模式二十三之工厂模式--工厂方法模式
目录1.什么是工厂方法模式2.优缺点3.适用场景4.工厂模式的角色更多详细扩展代码:1.什么是工厂方法模式为了解决简单工厂模式违背开闭原则的问题,对简单工厂模式进一步抽象化,使系统在不修改原来代码的情况下引进新的产品,即满足开闭原则。2.优缺点优点: 新增产品时新增工厂类就可以无须修改工厂代码,灵活性增强。同时满足高内聚,低耦合特性缺点:1.类的数量容易过多,增加复杂度 2.抽象工厂只能生产一种商品3.适用场景客户不关心创建产品的细节,...原创 2021-04-04 19:48:28 · 109 阅读 · 0 评论 -
设计模式二十三之单例模式
1.什么是单例模式?它的核心在于,单例模式可以保证一个类仅创建一个实例,并提供一个访问它的全局访问点。该模式有三个基本要点:一是这个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。由于在一个系统中,一个类经常会被使用在不同的地方,通过单例模式,我们可以避免多次创建多个实例,从而节约系统资源。2.饿汉模式在类初始化阶段就已经在堆内存中开辟了一块内存,用于存放实例化对象,所以也称为饿汉模式。汉模式实现的单例的优点是,可以保证多线程情况下实例原创 2021-03-21 19:34:13 · 146 阅读 · 3 评论 -
设计模式二十三之工厂模式--简单工厂模式
1.什么是简单工厂模式简单工厂模式属于创建型模式又叫做静态工厂方法模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。2.优缺点优点:简化客户端创建消费对象的困难只专注消费。明确了各自的职责和权利,有利于整个软件体系结构的优化。缺点:违背了高内聚的责任分配原则,工厂集中了全部的创建逻辑,当工厂出现问题系统会崩溃。当有新的产品类型时,必须要修改工厂的创建逻辑。对系统的维护和扩展非常不利。3.适用场景工厂产品少,对如何创建产品不关心。4.工...原创 2021-03-28 18:48:15 · 134 阅读 · 0 评论