大话设计模式的整体总结

2024-08-26 22:08

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

        大话设计模式通过2个人的对话,讲述了在软件设计中的23个重要的设计模式和6大开发原则在生活中的应用和思想升华的过程,其中的小菜也代表了对面向对象很“了解”但是却脱离了现实开发中各种束缚的入门编程人员,大鸟则代表了在软件开发行业方面有丰富经验,并且能在具体生活中运用的高级开发人才。新老人员之间的对话没有那么多的浮华和不切实际,一开口就是软件开发应该怎么怎么样的,都是从生活的平常角度来解释这23个设计模式和6大原则的,熟悉的场景,通俗易懂的知识,引人入胜爱不释手,非常适合初级开发人员的学习。

        这23个设计模式可以分为3个方面的模式:创建型模式、结构型模式、行为性模式。具体分类如下图:


        创建型模式:隐藏了这些类的实例是如何被创建和放在一起,整个系统关于这些对象所知道的是由抽象类所定义的接口。这样,创建型模式在创建了什么、谁创建了它、它是怎么被创建的,以及何时被创建方面提供了很大的灵活性。当一个系统应该独立于它的产品创建、构成和表示时,应该考虑创建型模式。创建型模式抽象了实例化的过程,它们帮助一个系统独立于如何创建、组合和表示它的那些对象。创建型模式都会将关于该系统使用哪些具体的类的信息封装起来。允许客户用结构和功能差别很大的产品对象配置一个系统。配置可以是静态的,即在编译时指定,也可以是动态的,就是运行时再指定。

        结构型模式讨论的是类和对象的结构,并且采用继承机制来组合接口或实现或者通过组合一些新的对象,目的是实现功能。

        行为型模式涉及到算法和对像间的职责分配,描述对象或类的模式,还描述了它们之间的通信方式,刻画了运行时难以跟踪的复杂的控制流,注意力在对象间的关系上。行为型模式采用对象的聚合分派行为。

        除此之外还有设计模式中的六大原则,这六大原则是对其他设计模式的约束,也是一种规范,使得设计模式更加的实用化和成熟。设计模式这本书不能只看一遍,其中的各个例子各个模式都是需要熟练掌握,然后运用到工作中去,提高软件开发的质量和效率,所以看到这里,才只是一个开始。

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



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

相关文章

Java设计模式---迭代器模式(Iterator)解读

《Java设计模式---迭代器模式(Iterator)解读》:本文主要介绍Java设计模式---迭代器模式(Iterator),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录1、迭代器(Iterator)1.1、结构1.2、常用方法1.3、本质1、解耦集合与遍历逻辑2、统一

JavaSE正则表达式用法总结大全

《JavaSE正则表达式用法总结大全》正则表达式就是由一些特定的字符组成,代表的是一个规则,:本文主要介绍JavaSE正则表达式用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录常用的正则表达式匹配符正则表China编程达式常用的类Pattern类Matcher类PatternSynta

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用

Nginx Location映射规则总结归纳与最佳实践

《NginxLocation映射规则总结归纳与最佳实践》Nginx的location指令是配置请求路由的核心机制,其匹配规则直接影响请求的处理流程,下面给大家介绍NginxLocation映射规则... 目录一、Location匹配规则与优先级1. 匹配模式2. 优先级顺序3. 匹配示例二、Proxy_pa

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

MySQL基本查询示例总结

《MySQL基本查询示例总结》:本文主要介绍MySQL基本查询示例总结,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Create插入替换Retrieve(读取)select(确定列)where条件(确定行)null查询order by语句li

Linux区分SSD和机械硬盘的方法总结

《Linux区分SSD和机械硬盘的方法总结》在Linux系统管理中,了解存储设备的类型和特性是至关重要的,不同的存储介质(如固态硬盘SSD和机械硬盘HDD)在性能、可靠性和适用场景上有着显著差异,本文... 目录一、lsblk 命令简介基本用法二、识别磁盘类型的关键参数:ROTA查询 ROTA 参数ROTA

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

Python实现图片分割的多种方法总结

《Python实现图片分割的多种方法总结》图片分割是图像处理中的一个重要任务,它的目标是将图像划分为多个区域或者对象,本文为大家整理了一些常用的分割方法,大家可以根据需求自行选择... 目录1. 基于传统图像处理的分割方法(1) 使用固定阈值分割图片(2) 自适应阈值分割(3) 使用图像边缘检测分割(4)

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解