软件设计的经典模式有哪些?
浏览:133次 作者:小编
一、什么是软件设计模式
软件设计模式:是一套面向设计中反复使用的、多数人知晓的、经过分类编目的、代码设计的解决方案。它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。设计模式旨在提高代码的可重用性、增强系统的可维护性,并解决一系列的复杂问题。这些解决方案可以帮助开发人员更高效地解决常见的设计问题,并提高软件的质量、可维护性和可扩展性。
二、23种软件设计模式
创建型模式
这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。
1.工厂模式(Factory Pattern):定义一个用以创建对象的接口, 让子类决定实例化哪个类。当遇到需要根据某个前提条件创建不同的类实现时, 会实用工厂模式.
2.抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口, 而无需指定它们具体的类.
3.单例模式(Singleton Pattern):保证一个类仅有一个实例,并提供一个访问它的全局控制点。比如在加载配置文件时, 可使用该模式。
4.建造者模式(Builder Pattern): 将一个复杂对象的构建与它的表示分离。
5.原型模式(Prototype Pattern):将一个对象作为原型,通过对其复制而克隆出多个与原型类似的新实例。
结构性模式
6.适配器模式(Adapter Pattern):适配器模式是一种结构型的软件设计模式,也称包装模式,即将相对复杂的功能封装起来,提供一个使用者想要的接口,使用者只需要调用接口,不需要知道接口里封装的内容是如何实现的。
7.桥接模式(Bridge Pattern):桥接模式是一种结构型的软件模式,将抽象部分与实现部分分离,使他们可以独立地变化。
8.组合模式(Composite Pattern):组合模式是一种结构的软件设计模式,将对象组合成树形结构,以凸显部分-整体的层次结构,使客户端对单个对象和组合对象的操作具备一致性。
9.装饰器模式(Decorator Pattern):装饰器模式是一种结构的软件设计模式,在不改变原类文件或使用继承的前提下,动态地扩展一个对象,进而达到增强或者增加对象功能地目的。
10.外观模式(Facade Pattern):外观模式是一种结构型的软件设计模式,也叫外观模式,它提供了统一的接口去访问多个子系统的接口。
11.享元模式(Flyweight Pattern):享元模式是一种结构型的软件设计模式,通过共享对象的方式,尽可能减少内存占用,从而达到优化的目的。
12.代理模式(Proxy Pattern):代理模式是一种结构型的软件设计模式,在不改变源代码的前提下,提供一个代理,以控制对原对象的访问。
行为型模式
13.责任链模式(Chain of Responsibility Pattern):为解除请求的发送者和接收者之间耦合,而使多个对象都有机会处理这个请求。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它。
14.命令模式(Command Pattern):将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可取消的操作。
15.解释器模式(Interpreter Pattern):给定一个语言,定义它的语法的一种表示,并定义一个解释器,该解释器使用该表示解释语言中的句子。
16.迭代器模式(Iterator Pattern):提供一种方法顺序访问一个聚合对象中的各个元素,而又不需暴露该对象的内部表示。
17.中介者模式(Mediator Pattern):用一个中介对象来封装一系列的对象交互。中介者使各个对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
18.备忘录模式(Memento Pattern):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到保存的状态。
19.观察者模式(Observer Pattern):定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。
20.状态模式(State Pattern):允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它所属的类。
21.策略模式(Strategy Pattern):定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。使得算法的变化可独立于使用它的用户。
22.模板模式(Template Pattern):定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
23.访问者模式(Visitor Pattern):表示一个作用于某对象结构中的各元素的操作。该模式可以实现在不改变各元素的类的前提下定义作用于这些元素的新作。
三、软件设计报名咨询
中培IT学院针对软件设计采用案例贯穿的方式,收集了大量的真实案例,针对项目过程中技术人员常犯的错误进行了汇总与研讨,并最终形成培训教程。通过大量的真实案例,详细地介绍了软件设计过程需要注意的要点以及难点,通过讲师十几年的经验帮助学员顺利取证。感兴趣的小伙伴可以扫描下方二维码进行咨询哦!
![软件设计模式重构](/uploads/20240521/44c8f03fbbe6d7207178eef7b8cd274e.jpg)
- 标签: 软件设计 软件设计模式
-
上篇: 全方位解读CTF网络安全夺旗赛