摘要: 命令模式又称为行动/交易模式,属于行为型模式;是指将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行储存、传递、调用、增加与管理。命令模式是对命令的封装。命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象。 命令模 阅读全文
posted @ 2022-03-26 23:06 pluto_charon 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 模板方法模式属于行为型模式,定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤,不同的子类可以以不同的方式实现这些抽象方法。从而对剩余逻辑有不同的实现。模版方法模式是基于继承的代码复用的基本技术,模版方法模式的结构和用法也是面向对 阅读全文
posted @ 2022-03-26 15:50 pluto_charon 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 代理模式属于结构型模式,代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用,即通过代理对象访问目标对象。这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。如Spring中的AOP。 代理模式有三种形式:静态代理,JDK动态代理和Cglib动态代理 阅读全文
posted @ 2022-03-25 23:42 pluto_charon 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 享元模式又称蝇量模式或者羽量模式,属于结构型模式;是指以共享的方式高效的支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似类的开销,从而提高系统资源的利用率。 享元对象能做到共享的关键是区分内蕴状态( Internal State)和外蕴状态(Extern 阅读全文
posted @ 2022-03-23 22:48 pluto_charon 阅读(201) 评论(0) 推荐(1) 编辑
摘要: 外观模式又叫门面模式,属于结构型模式;是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。 现在微服务和模块化越来越流行,我们都会把一个复杂的系统 阅读全文
posted @ 2022-03-22 23:15 pluto_charon 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 组合模式又叫合成(部分-整体)模式,属于结构型模式。组合模式将对象组织到树结构中,可以用来描述整体与部分的关系,可以使客户端将单纯元素与复合元素同等看待。 树结构在过程性的编程语言中曾经发挥了巨大的作用,在面向对象的语言中,树结构也同样威力巨大。一个基于继承的类型的等级结构便是一个树结构;一个基于组 阅读全文
posted @ 2022-03-21 21:20 pluto_charon 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 装饰器模式又叫包装模式,数据结构型模式;是指在不改变现有对象结构的情况下,动态的给改对象增加一些职责(即增加其额外功能)的模式。 在星巴克咖啡店,有美式咖啡(LongBlack)、无因咖啡(Decaf)、意大利农咖啡(Espresso)等不同的咖啡种类,也可以添加牛奶(Milk)、豆浆(Soy)、巧 阅读全文
posted @ 2022-03-20 15:42 pluto_charon 阅读(3297) 评论(0) 推荐(1) 编辑
摘要: 桥接模式又称桥梁模式,属于结构型模式,是指将抽象化 与 实现化 脱耦,使得二者可以独立的变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。 抽象化 存在于多个实体中的共同的概念性联系,就是抽象化,作为一个过程,抽象化就是忽略一些信息,从而把不同的实体当作同样的实体对 阅读全文
posted @ 2022-03-18 23:24 pluto_charon 阅读(1706) 评论(1) 推荐(0) 编辑
摘要: 适配器模式也叫包装器,属于结构型模式;就是把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起共组的两个类能够在一起工作,适配器模式的主要目的就是兼容性。适配器模式主要分为两类:类适配器模式,对象适配器模式。 都知道中国的生活用电电压是220V,而我们的智能手机充电器的输 阅读全文
posted @ 2022-03-16 21:48 pluto_charon 阅读(256) 评论(0) 推荐(1) 编辑
摘要: 在有些情况下,一个对象会有一些重要的性质,在他们没有被赋值之前,对象不能作为一个完整的产品使用。比如,一个电子邮件有发件人地址、收件人地址、主题、内容、附件等,最起码在收件人地址没有赋值之前,这个电子邮件是不能发出的。 在有些情况下,一个对象的一些性质必须按照某个顺序赋值才有意义,在某个性质没有赋值 阅读全文
posted @ 2022-03-13 23:12 pluto_charon 阅读(110) 评论(0) 推荐(0) 编辑