您的位置:首页 > 财经 > 金融 > 深圳最简单的网站建设_自助建站英文_适合发软文的平台_网络营销是什么课程

深圳最简单的网站建设_自助建站英文_适合发软文的平台_网络营销是什么课程

2025/1/11 18:34:26 来源:https://blog.csdn.net/qq_43812868/article/details/144975215  浏览:    关键词:深圳最简单的网站建设_自助建站英文_适合发软文的平台_网络营销是什么课程
深圳最简单的网站建设_自助建站英文_适合发软文的平台_网络营销是什么课程
什么设计模式?

​ 设计模式是一种解决编程中特别场景的一种思路,以达到对代码的可阅读性、实用性、可扩展性的最优解决方案。

在开发人员的实际开发过程中有可能不知道什么是设计模式,但是在代码中设模式的影子无处不在。

​ 例如在开发一个程序,此程序需要通过串口与其他系统进行通用性,一般开发的时候就会将其程序封装起来,向其他模块提供打开关闭和读写接口,通过这几个接口就完全可以实现业务功能,而数据校验这些都是使用内部函数。这个场景就是使用了设计模式的结构形模式的外观模式。

​ 还有就是当程序中自定的事数据对象之间无法直接赋值的时候,我们会通过一个函数将其手动将对象的值一一赋值过去,这里就使用到了设计模式结构模式的适配器模式。

​ 诸如这种的场景,实际开发中虽然没有明确设计模式的概念,但是其实已经使用了很多了。

为什么要使用设计模式?

​ 俗话说的好,踩在巨人的肩膀上才能实现更高的目标。通过前人总结的无数宝贵经验来提高开发人员的编程技巧。使用设计模式可以减少代码架构的复杂性,提高代码的可扩展性,从而更加高效安全快捷的实现代码架构的开发。

设计模式的优缺点?

​ 使用设计模式对于程序来说可能提高程序的扩展性和适用性,但是有些设计模式提高看了扩展性的同时,也会提高程序的复杂程度,给程序的维护带来一些困扰。所以设计模式的使用也是根据代码情况而定,如果自己有更加好的方案或者思路,完全可以不用强行使用设计模式。

设计模式的简单介绍

​ 设计模式是一种解决编程中特别场景的一种思路。设计模式根据其创建的意图和解决的问题分为三类:创建型模式、结构型模式和行为模式。以上三种设计模式实现的底层原理是依托于编程语言的特性,通过类的嵌套组合(后续叫组合)和类的继承(后续叫继承)实现各种的设计模式。

​ 创建型模式:此类中的设计模式主要是解决对象创建相关的一些解决思路,根据编程语言的特性,从而实现对象的自动创建从而增加代码的复用性和灵活新。

​ 结构型设计模式:此类的设计模式主要是解决类之间的相互组合和继承,通过类的继承和组合实现代码结构的灵活高效。

​ 行为模式:此类的设计模式主要是实现对象之间的数据和命令的高效传递,从而是代码运行更加高效和逻辑分配。

设计模式都有哪些?

创建型设计模式

单例模式:单例模式是让代码中只有一个类的对象实现,并提供一个访问的全局节点。通过单例模式可以实现全局变量的存储和传递或者管理单元。

工厂模式:工厂模式是在通过继承的方式实现单个对象的生成,用于解决减少代码之间的耦合,实现代码的可扩展。

抽象工厂模式:抽象工厂模式是对于工厂模式的一个扩展,用生成一些列相关对象的方法。可以实现系列产品的扩展。

克隆模式:克隆模式是在通过在类本身实现一个方法,用于创建和自己一样的对象,此设计模式可以实现自身对象的备份和创建。这里需要说明克隆模式和拷贝构造的区别,他两看起都能实现一个对象的复制,但是相比于拷贝构造函数,克隆模式可以在程序运行的时候进行复制对象,而拷贝构造函数实在对象创建的时候进行初始化。还有一个就是克隆模式可以通过类的继承来实现多态,通过多态的属性去克隆子类对象,而拷贝构造函数不行。

生成器模式:生成器模式是创建型模式的一种,生成器模式主要是解决在大类创建对象初始化的复杂的问题。将一个复杂类的创建拆分成几个部分,再根据具体需求创建初始对象,而不必每次都创建所有的部分。在需要创建包含有不同内容的对象的时候,可以通过生成器类,生成器类可以创建多个,就可以生成对于的对象。

结构型设计模式

适配器模式:适配器模式是结构型模式的一种,主要是通过适配函数或者适配类类解决两个对象或者数据结构不兼容的问题。(简单点就是在两个不同的模块或者数据结构中添加一个转换,这个转换是函数也可以是一个类)。

桥接模式:桥接模式是结构型模式的一种,桥接模式主要是通过类的组合来解决类太大的问题。通过将类分为两个部分,一个部分作为主类,一部分作为辅类。主类通过引用辅类的对象类实现复杂的对象。

代理模式:代理模式是结构型模式的一种,主要是通过代理模式类在第三方库的基础上添加自己的处理(例如:添加认证,添加日志等)。当然在各个独立的模块的接口中使用此模式,来在两个模块之间添加一些认证或者日志。当然换可以做一些其他的操作。

组合模式:组合模式是结构型模式的一种,主要是将对象像树结构一样进行组合,并对任意节的操作点能像操作一个对象。例如:在整个对象树中,需要计算当前节点对象及其子孙是对象的所有数据,就可以通过组合模式实现。

​ 装饰模式:装饰模式是结构型模式的一种,主要是用解决类功能增强或者扩展的问题,通过类的继承和组合实现在动态扩展类的功能。

外观模式:外观模式是结构型模式的一种,主要是用于对其他模块或者第三方进行一个封装,从而只向外展现接口,而不显示内部结构。

享元模式:享元模式是设计模式的一种,主要是用于减少内存的消耗,通过将高复用的字段数据添加到一个类,通过公共调用实现对象数据的共享。

行为模式

命令模式:命令模式是行为模式的一种,它是将一个方法和相关参数提取到一个类中,通过参数化调后实现任意地方的调用。以减少代码的冗余和提高代码的可维护性。

迭代器模式:迭代器模式是行为模式的一种,主要是用于在处理复杂的数据结构的时候,提供一个专门的访问接口。通过访问接口进行数据的访问,从而影藏内部数据结构。

中介者模式:中介者模式是行为模式的一种,主要是用于在多个对象之间添加一个统一的中介者类,在其中一个对象的状态发生改变的时候,通过中介者类将状态通知给其他的对象,从而实现对象之间信息同步。

责任链模式:责任链模式是行为模式的一种,主要是用于将一系列的请求处理以链式结构连接起来,以便任意一个访问都能进行处理。责任链模式主要是用于解决对于有未知顺序请求的处理。

备忘录模式:备忘录模式是行为模式的一种,主要是用于在不暴漏对象细节的情况下对对象的快照进行备份。主要是用于一些需要备份、回退的场景。

观察者模式:观察者模式是行为模式的一种,主要是用于解决多个对象之间通信的同步机制的问题。和中介者模式不同的是,每个对象都是一个观察者,当有一个对象的状态发生改变的时候会通知其他的对象,有部分对象可一个不接受通知。

状态模式:状态模式是一种行为模式,用于在内部状态改变的时候切换其行为,使其看上去就像是类的一个属性一样。

策略模式:策略模式是一种行为模式,用于在一个算法有种实现或者一个算法有不同的处理逻辑的时候,用于动态切换处理逻辑,以解决代码中适配各个不同的处理方法。

模版模式:模版模式是设计模式的一种,用于在一个算法的实现部分逻辑通用,部分逻辑可以单独实现或者有不同的实现方法的时候,将不同实现的部分提取出来,通过接口调用来减少代码的冗余和增加代码的可扩展性。

访问者模式:访问者模式是行为模式的一种,主要是用于将算法和被计算对象隔离开来,以减少算法随被计算对象的影响,从而保证软件的稳定。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com