零、图说设计模式--前言

本专辑涉及到设计模式,再次做个引子和概述

一、面向对象的设计思想

   1、开放封闭原则。

          解释: 对修改封闭,对扩展开放。

          举例:系统里的上层调用了视频格式分离类,有 mp4,flv,ts 等,每个子类都来继承于基类,修改 mp4 只影响 mp4 类,扩展可以添加 avi 类。

      

   2、依赖抽象原则(依赖倒转原则)。

         解释:上层调用下层的不是实体,而是抽象,降低耦合。

         举例:系统业务层调用数据库层,测试业务层调用的不是 mysql 的接口,也不是 oracle 接口,而是他们的抽象接口。

     

   3、单一职责原则。

         解释:所有事物都是对象,要把功能抽象的更加单一。

         举例:系统事件是一个类,各种策略可以抽象成类,动物可以抽象成类,拳击的动作也可以抽象成类,地理坐标也可以抽象成类,管理员也可以抽象成类。

      

    4、接口隔离原则。

        解释:分离最小接口,接口内不要做太复杂的实现。

        举例:对这个原则不太理解深。

   

    5、liskov 替换原则。

        解释:子类能完全替换基类

        举例:子类不能替换的话,就要再抽象一次,或者抽象成接口。

    


二、23 GOF 设计模式


1、创建型模式

        1.1 Factory 工厂模式

        1.2 AbstractFactory 抽象工厂模式

        1.3 Singleton 单实例模式

        1.4 Builder 构造者模式

        1.5 Prototype 原型模式

2、 结构型模式

        2.1 Bridge 桥接模式

        2.2 Adapter 适配器模式

        2.3 Decorator 装饰模式

        2.4 Composite 组合模式

        2.5 Flyweight  享元模式

        2.6 Facade 外观模式        

        2.7 Proxy 代理模式 

3、行为模式

  3.1 Observer 观察者模式

        3.2 State 状态模式

        3.3 Chain of responsibility 职责链模式

        3.4 Command 命令模式

        3.5 Iterpreter 解释者模式

        3.6 Iterator 迭代模式

        3.7 Strategy 策略模式

        3.8 Visitor 访问者模式

        3.9 Memento 备忘录模式

        3.10 Template 模板模式

        3.11 Mediator 中介者模式 

三、图解设计模式



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值