设计模式介绍

什么是设计模式?

设计模式是一种思想,最早的概念由 克⾥斯托佛·亚历⼭⼤ 在其著作 《建筑模式语⾔》 中⾸次提出,书中提供了253个描述城镇、邻⾥、住宅、花园、房间及⻄部构造的模式。紧接着, Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 四人(绰号四人帮 Gang of Four)接受了这种概念,在1994年合著出版了一本名为 Design Patterns - Elements of Reusable Object-Oriented Software(中文译名:设计模式 - 可复用的面向对象软件元素) 的书,该书首次提到了软件开发中设计模式的概念。

设计模式的思想主要是提高代码的复用率,使其⾼内聚、低耦合、可扩展。在一些常用的框架中,我们也可以看到很多常用的设计模式,比如工厂模式、建造者模式、单例模式和代理模式等等。

设计模式的分类

设计模式可以分为创建型结构性行为型

创建型
创建型设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不像Java一样在创建对象的时候使用new来创建对象。

包括:
工厂模式(Factory Pattern)
抽象工厂模式(Abstract Factory Pattern)
单例模式(Singleton Pattern)
建造者模式(Builder Pattern)
原型模式(Prototype Pattern)

结构型
结构型设计模式关注类和对象的组合。继承的概念被用来组合接口和定义组合对象获得新功能的方式

包括:
适配器模式(Adapter Pattern)
桥接模式(Bridge Pattern)
过滤器模式(Filter、Criteria Pattern)
组合模式(Composite Pattern)
装饰器模式(Decorator Pattern)
外观模式(Facade Pattern)
享元模式(Flyweight Pattern)
代理模式(Proxy Pattern)

行为型
行为型设计模式主要特别关注对象之间的通信。

包括:
责任链模式(Chain of Responsibility Pattern)
命令模式(Command Pattern)
解释器模式(Interpreter Pattern)
迭代器模式(Iterator Pattern)
中介者模式(Mediator Pattern)
备忘录模式(Memento Pattern)
观察者模式(Observer Pattern)
状态模式(State Pattern)
空对象模式(Null Object Pattern)
策略模式(Strategy Pattern)
模板模式(Template Pattern)
访问者模式(Visitor Pattern)

关于设计模式的七大原则

在设计模式中,我们将其分为七大设计原则

1.开闭原则:对扩展开放,对修改关闭

面向对象编程最重要的原则之一

2.里氏替换原则:继承必须确保超类所拥有的性质在子类中仍然成立

子类扩展父类功能但不要改变

3.依赖倒置原则:要面向接口编程,不要面向实现编程。

面向接口编程 依赖于抽象而不依赖于具体 目的是解耦

4.单一职责原则:控制类的粒度大小、将对象解耦、提高其内聚性。

简单的说就是原子性,一个方法做好一件事情就行了

5.接口隔离原则:要为各个类建立它们需要的专用接口

根本性质类似于单一职责,只不过作用目标是类,目的是降低耦合提高内聚

6.迪米特法则:只与你的直接朋友交谈,不跟"陌生人”说话。

不要越级上报 通过中间进行通信 提高独立性

7.合成复用原则:尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。

即组合大于继承

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值