设计模式和软件体系结构读这一篇就够了

下面先介绍10个重要的设计模式,通过图解+代码的形式进行展示,方便理解。
设计模式
创建型设计模式是解决对象创建机制的设计模式。该类设计模式试图根据具体情况,以适当方式创建对象。

  1. 工厂方法模式
    工厂方法的功能:通过传入参数选择一个类,创建该类的对象,以超类的类型返回该对象。
    工厂方法模式
  • 简单工厂方式模式
    简单工厂方法模式
    下面给出一个简单工厂方法实现的例子:
    简单工厂方法实现例子
  • 工厂方法模式工厂方法模式
    下面给出一个工厂方法模式实现的例子:
    工厂方法模式实现
    简单工厂方法模式和工厂方法模式的比较:
    中心不同、一个静态一个动态、工厂方法模式的可扩展性(已有源码不需要修改)、返回类型都是超类、工厂方法模式支持开闭原则,简单工厂方法模式不支持。
  1. 抽象工厂模式
    抽象工厂就是创建多层次类的一种设计模式,首先给出架构,然后再给出一个实现例子。
    抽象工厂模式
    抽象工厂方法模式例子

结构型设计模式

结构型设计模式的主要目的是将不同的类和对象组合在一起,形成更大或者更复杂的结构体,例如,形成复杂的用户接口或者复杂的账户数据接口。

然而该模式不是简单地将这些类摆在一起,而是要提供这些类之间的关联方式。
3. 适配器模式
这是第一个结构型的设计模式,分为类适配器模式和对象适配器模式,适配器类是一个继承自原接口的新接口,用户通过新接口实现适配器类,就可以获得原接口的功能。
类适配器模式
使用方法如下:
类适配器使用方法
对象适配器模式通过传入原接口的对象的方法实现多接口的功能集成,下面给出一个简单的单对象适配器类。对象数可以无限扩展。
对象适配器模式(一个对象)

  1. 桥接模式
    桥接模式
    看这个结构图可能比较抽象,看一个例子就能明白了。
    桥接模式例子
    这种设计模式可以方便在两个维度上的分别扩展,而不影响其他已经写好的类。

行为型设计模式

  • 行为模式关心算法和对象之间的责任分配。
  • 它关心的不是仅仅描述对象或类的模式,而是要更加侧重描述它们之间的通信模式。
  • 行为模式刻画了很难在运行时跟踪的复杂的控制流。该模式将软件开发者的注意力从控制流转移到对象相互关联的方式方面。
  1. 策略模式

这次比较简单。
策略模式

策略模式例子

  1. 状态模式

状态模式也比较简单,常常用来实现对多个不同类的调用。
状态模式
状态模式交互

  1. 访问者模式

访问者模式
重点是accept方法

  1. 中介者模式

中介者模式
重点是register方法

  1. 观察者模式
    观察者模式
    观察者模式典型交互
  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值