浅谈设计模式-开篇

本文以通俗易懂的方式介绍了设计模式,旨在让初学者也能理解这一复杂主题。设计模式被视为解决特定领域问题的最佳实践,遵循7大原则,如单一职责原则、开闭原则等。23种设计模式主要分为创建型、结构型和行为型三大类,每种模式都有其独特作用,如工厂模式、适配器模式和观察者模式等。后续文章将逐一详解这些模式。
摘要由CSDN通过智能技术生成

开篇

        一说起设计模式,都能扯出一大堆玄之又玄的原则啊,理论啊什么的,更有一堆官方的科学术语,初学者看着云里雾里的,大神又食之无味。本系列,我们一起来来聊聊设计模式,以大白话的方式讲解设计模式的,可能存在着不合理,不恰当,各位看官请多包涵。

设计模式

        一直以来,设计模式被奉为解决某个领域特定问题的最佳实践,这点我赞同,毕竟这些解决方案都是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的,经得起时间的考验。看到这你可能会发问,某个领域特点问题具体指向的是哪些呢?它们具体有什么特点呢?那这就牵扯到设计模式要遵守设计原则与设计分类啦。

设计原则

        设计模式原则一说有6大,一说有7大,不管有几大,都讲讲。设计模式公认的7大原则有:

1:单一职责原则(SRP:Single Responsibility Principle)

2:接口隔离原则(ISP:Interface Segregation Principle)

3:依赖倒转(倒置)原则(DIP:Dependence Inversion Principle)

4:里氏替换原则(LSP:Liskov Substitution Principle)

5:开闭原则(OCP:Open Closed Principle)

6:迪米特法则(LOF:Law Of Demeter)

7:合成复用原则(CRP:Composite Reuse Principle)

后面我们会一一介绍,此处就做一个列表。

设计分类

        经过前人的总结再总结,实践再实践,目前比较认可的设计模式总共有23种,虽说市面上还有很多其他的设计模式,但那些设计模式或多或少有这23种设计模式的影子,所以可以认为是23种设计模式的衍生模式。

这23种设计模式根据它们的功能(实现方式)大体分为3大类,分别是:创建型模式,结构型模式,行为型模式

创建型模式

        该类设计模式提供一直创建对象新思路,传统的创建对象方式是使用 new 运算符直接实例化对象,这就暴露了创建实例方式与初始方式, 而该设计模式提出新的想法,通过代码方式隐藏实例对象的创建过程与初始细节,这使得程序在判断针对某个给定实例需要创建哪些对象时显得更加灵活。这类设计模式包括:

0>简单工厂模式(Simple Factory Pattern)

1>工厂模式(Factory Pattern)

2>抽象工厂模式(Abstract Factory Pattern)

3>单例模式(Singleton Pattern)

4>建造者模式(Builder Pattern)

5>原型模式(Prototype Pattern)

结构型模式

        该类设计模式关注类和对象的组合。减少继承的使用,灵活使用接口组合和对象组合,从而获得到意想不到的效果,这类设计模式包括:

1>适配器模式(Adapter Pattern)

2>桥接模式(Bridge Pattern)

3>过滤器模式(Filter、Criteria Pattern)

4>组合模式(Composite Pattern)

5>装饰器模式(Decorator Pattern)

6>外观模式(Facade Pattern)

7>享元模式(Flyweight Pattern)

8>代理模式(Proxy Pattern)

行为型模式

该类设计模式关注对象之间如何通信

1>责任链模式(Chain of Responsibility Pattern)

2>命令模式(Command Pattern)

3>解释器模式(Interpreter Pattern)

4>迭代器模式(Iterator Pattern)

5>中介者模式(Mediator Pattern)

6>备忘录模式(Memento Pattern)

7>观察者模式(Observer Pattern)

8>状态模式(State Pattern)

9>空对象模式(Null Object Pattern)

10>策略模式(Strategy Pattern)

11>模板模式(Template Pattern)

12>访问者模式(Visitor Pattern):

居上,很多设计模式大家看得云里雾里了,没关系,后面我们会一一进行讲解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浪飞yes

我对钱没兴趣~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值