软件构造七大模式简介

一、创建型模式

1、工厂模式

        工厂顾名思义就是创建产品,根据产品是具体产品还是具体工厂可分为简单工厂模式和工厂方法模式,根据工厂的抽象程度可分为工厂方法模式和抽象工厂模式。该模式用于封装和管理对象的创建,是一种创建型模式。

        对于一些场景,用户需要使用大类型中的子类型,此时使用工厂类型可以让用户以简单的编号或者代号对子类型进行访问。在一个factory的类中定义一个choose方法,根据输入参数返回对应的需要的子类型。

二、结构型模式

2、适配器模式

        在某个场景下需要使用某一段现成的库或类,但是目前程序能提供的参数和该库或类需要的参数不一样,因此在此情况下我们不应该贸然去修改库或者在自己的主体里进行修改,而是应该单独写一个适配器对象,将其作为所需接口的一个实现,从而将所实现的功能进行override,将自己的参数改编为所需要的格式,从而使代码更加有条理且便于修改。

3、装饰器模式

        装饰器模式能够实现从一个对象的外部来给对象添加功能,有非常灵活的扩展性,可以在对原来的代码毫无修改的前提下,为对象添加新功能。除此之外,装饰器模式还能够实现对象的动态组合,借此我们可以很灵活地给动态组合的对象,匹配所需要的功能。

三、行为型模式

4、策略模式

        策略模式是一种行为型模式,它将对象和行为分开,将行为定义为一个行为接口 和具体行为的实现。策略模式最大的特点是行为的变化,行为之间可以相互替换。每个if判断都可以理解为就是一个策略。本模式使得算法可独立于使用它的用户而变化。

5、迭代器模式

         迭代器(Iterator)模式又叫作游标(Cursor)模式,是一种对象的行为模式。提供一种方法顺序访问一个聚合(指一组对象的组合结构,如:Java中的集合、数组等)对象中各个元素,而又不需暴露该对象的内部表示。迭代器模式的本质:控制访问聚合对象中的元素。其设计意图:无须暴露聚合对象的内部实现,就能够访问到聚合对象中的各个元素。

6、模板模式

        模板模式适用于一组类似的操作流程,多个子类都符合相同模板的操作,这样对于多个不同的对象都作为他的子类,其中方法不在父类中实现,而是在每个子类中分别实现,此时用户在引用的过程中可以直接使用子类,从而获取对于一个模板的多种分别的实现方式。

7、访问者模式

        将作用于某种数据结构中的各元素的操作分离出来封装成独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新的操作,为数据结构中的每个元素提供多种访问方式。它将对数据的操作与数据结构进行分离,是行为类模式中最复杂的一种模式。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值