大话模式的总结

2024-08-26 11:58
文章标签 总结 模式 大话

本文主要是介绍大话模式的总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


      下面这幅图是我自己总结的大话模式的中心思想。

 


里氏代换原则:

子类可以扩展父类的功能,但不能改变父类原有的功能

 

 

依赖倒置:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。

 依赖倒置原则的核心思想是面向接口编程。

 

 迪米特法则:就是说的两人之间尽量保持陌生减少耦合。

 

设计模式共有23种。

但是我们进一步分析可以将这23个模式分成3大类。


1.创建型(这是从对象的创建方面来考虑的),但是真正上简单工厂不是GoF总结出来的模式,原因你懂的。


这其中的3个工厂模式迷惑了我一段时间,就是看UML图上得知他们三者之间应该是越来越抽象,但具体有什么区别还真是不知道。后来上网查了一些资料才慢慢李处头绪。首先工厂模式主要是提供了接口减少了与外界的联系。但是他们的区别究竟在哪里呢?


简单工厂,我就不多说什么了,但是工厂方法和抽象工厂模式我们还是有必要来区别一下的。例如现在有这样的一个场景,两个不同的工厂专门造锤子,另外两个个工厂专门造钉子。但是客户往往想在一个地方既买到锤子又买到钉子,这时候就出现了一个抽象工厂五金铺。所以我的理解就是如果是生产同类产品的模式那就是属于工厂方法。如果是出现了生产不同产品的模式那就属于抽象工厂。

 

 

当然这仅仅是个人之言,若是您有什么好的观点,欢迎您赐教。

 

 

2.结构型(这主要是从对象之间的组成和依赖关系来考虑的)。这一类中的外观模式:它主要是将细粒度的对象包装成组粒度的对象,应用程序通过访问这个外观对象,完成对细粒度对象的调用。我们用一组图来说明


这是没有使用外观模式之前的。


这一幅是使用了外观模式之后的。这样的好处就是用外观模式将变化的部分封装起来。将变化的部分和应用程序隔离,这无疑有利于提高软件的易维护性。

3.行为(看名字既可以看出它是从对象行为的角度来分析的)。


最后我附上下图是23种模式的分类图:


 

这篇关于大话模式的总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1108495

相关文章

C# List.Sort四种重载总结

《C#List.Sort四种重载总结》本文详细分析了C#中List.Sort()方法的四种重载形式及其实现原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录1. Sort方法的四种重载2. 具体使用- List.Sort();- IComparable

SpringBoot项目整合Netty启动失败的常见错误总结

《SpringBoot项目整合Netty启动失败的常见错误总结》本文总结了SpringBoot集成Netty时常见的8类问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、端口冲突问题1. Tomcat与Netty端口冲突二、主线程被阻塞问题1. Netty启动阻

Go语言实现桥接模式

《Go语言实现桥接模式》桥接模式是一种结构型设计模式,它将抽象部分与实现部分分离,使它们可以独立地变化,本文就来介绍一下了Go语言实现桥接模式,感兴趣的可以了解一下... 目录简介核心概念为什么使用桥接模式?应用场景案例分析步骤一:定义实现接口步骤二:创建具体实现类步骤三:定义抽象类步骤四:创建扩展抽象类步

SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)

《SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)》本文总结了SpringBoot项目整合Kafka启动失败的常见错误,包括Kafka服务器连接问题、序列化配置错误、依赖配置问题、... 目录一、Kafka服务器连接问题1. Kafka服务器无法连接2. 开发环境与生产环境网络不通二、序

python3中正则表达式处理函数用法总结

《python3中正则表达式处理函数用法总结》Python中的正则表达式是一个强大的文本处理工具,用于匹配、查找、替换等操作,在Python中正则表达式的操作主要通过内置的re模块来实现,这篇文章主要... 目录前言re.match函数re.search方法re.match 与 re.search的区别检索

C++中的解释器模式实例详解

《C++中的解释器模式实例详解》这篇文章总结了C++标准库中的算法分类,还介绍了sort和stable_sort的区别,以及remove和erase的结合使用,结合实例代码给大家介绍的非常详细,感兴趣... 目录1、非修改序列算法1.1 find 和 find_if1.2 count 和 count_if1

Redis中群集三种模式的实现

《Redis中群集三种模式的实现》Redis群集有三种模式,分别是主从同步/复制、哨兵模式、Cluster,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1. Redis三种模式概述2、Redis 主从复制2.1 主从复制的作用2.2 主从复制流程2

深入理解MySQL流模式

《深入理解MySQL流模式》MySQL的Binlog流模式是一种实时读取二进制日志的技术,允许下游系统几乎无延迟地获取数据库变更事件,适用于需要极低延迟复制的场景,感兴趣的可以了解一下... 目录核心概念一句话总结1. 背景知识:什么是 Binlog?2. 传统方式 vs. 流模式传统文件方式 (非流式)流

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装