看图记设计模式【一】,设计模式是什么?设计模式的组成。
设计模式是什么?
设计模式是软件设计中常见问题的典型解决方案。 它们就像能根据需求进行调整的预制蓝图, 可用于解决代码中反复出现的设计问题。
设计模式与方法或库的使用方式不同, 你很难直接在自己的程序中套用某个设计模式。 模式并不是一段特定的代码, 而是解决特定问题的一般性概念。 你可以根据模式来实现符合自己程序实际所需的解决方案。
人们常常会混淆模式和算法, 因为两者在概念上都是已知特定问题的典型解决方案。 但算法总是明确定义达成特定目标所需的一系列步骤, 而模式则是对解决方案的更高层次描述。 同一模式在两个不同程序中的实现代码可能会不一样。
算法更像是菜谱: 提供达成目标的明确步骤。 而模式更像是蓝图: 你可以看到最终的结果和模式的功能, 但需要自己确定实现步骤。
模式包含哪些内容?
大部分模式都有正规的描述方式, 以便在不同情况下使用。 模式的描述通常会包括以下部分:
- 意图部分简单描述问题和解决方案。
- 动机部分将进一步解释问题并说明模式会如何提供解决方案。
- 结构部分展示模式的每个部分和它们之间的关系。
- 在不同语言中的实现提供流行编程语言的代码, 让读者更好地理解模式背后的思想。
部分模式介绍中还列出其他的一些实用细节, 例如模式的适用性、 实现步骤以及与其他模式的关系。
设计模式分类
不同设计模式的复杂程度、 细节层次以及在整个系统中的应用范围等方面各不相同。 我喜欢将其类比于道路的建造: 如果你希望让十字路口更加安全, 那么可以安装一些交通信号灯, 或者修建包含行人地下通道在内的多层互通式立交桥。
最基础的、 底层的模式通常被称为惯用技巧。 这类模式一般只能在一种编程语言中使用。
最通用的、 高层的模式是构架模式。 开发者可以在任何编程语言中使用这类模式。 与其他模式不同, 它们可用于整个应用程序的架构设计。
此外, 所有模式可以根据其意图或目的来分类。 本书覆盖了三种主要的模式类别:
创建型模式提供创建对象的机制, 增加已有代码的灵活性和可复用性。
结构型模式介绍如何将对象和类组装成较大的结构, 并同时保持结构的灵活和高效。
行为模式负责对象间的高效沟通和职责委派。
看图记设计模式【一】,设计模式是什么?设计模式的组成。相关推荐
- [Head First设计模式]山西面馆中的设计模式——装饰者模式
原文:[Head First设计模式]山西面馆中的设计模式--装饰者模式 引言 在山西面馆吃鸡蛋面的时候突然想起装饰者这个模式,觉得面馆这个场景跟书中的星巴兹咖啡的场景很像,边吃边思考装饰者模式.这里 ...
- java 设计模式_快速上手Java设计模式之简介
阅读本文约需要5分钟 大家好,我是你们的导师,经常看我朋友圈的同学应该知道,我每天会在微信上给大家免费提供以下服务! 1.长期为你提供最优质的学习资源! 2.给你解决技术问题! 3.每天在朋友圈里分享 ...
- 『设计模式』HR:不会设计模式,你好意思来面试?(面试必备设计模式)
23种设计模式+额外常用设计模式汇总 (持续更新) 设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用.设计模式是软件开发人员在软件开发过程中面临的一 ...
- java策略设计模式_Java中的策略设计模式
java策略设计模式 策略设计模式是一种行为模式,其中我们有多种算法/策略来完成一项任务,所使用的算法/策略留给客户选择. 各种算法选项封装在单独的类中. 在本教程中,我们将学习在Java中实现策略设 ...
- 【从入门到放弃】23种设计模式(1):设计模式综述
一.设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式(Factory Method).抽象工厂模式(Abstract Factory).单例模式(Singleton).建 ...
- 多个if用什么设计模式_抽丝剥茧——单例设计模式
单例设计模式 兄弟们好,今天是最后一个设计模式了,也是我们最熟悉的单例设计模式,可以说这个设计模式是我们最先接触到的设计模式了.想当年学习JavaSE的时候,老师聊到一个「饿汉式和懒汉式」,我还纠结了 ...
- 子慕谈设计模式系列(二)——设计模式六大原则
六大原则 单一职责原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特法则 开闭原则 前言 设计模式不容易用文字描述清楚,而过多的代码,看起来也让人摸不到头脑,加上词语或者文字描述的抽象感,很容易让 ...
- JavaScript设计模式第一弹-创建型设计模式
前言 接下来将会为大家介绍设计模式中的创建型设计模式,在此之前需要掌握一定的JavaScript对象继承基础. 简单工厂模式 先说说 什么是简单工厂模式:又叫静态工厂方法,由一个工厂对象决定创建某一种 ...
- JAVA设计模式总结之23种设计模式(重点!!!)
JAVA设计模式总结之23种设计模式: 一.什么是设计模式 设计模式遵循的原则有6个: 二.设计模式的三个分类 三.各分类中模式的关键点 四.概说23种设计模式 1.单例模式(Singleton) 2 ...
- 设计模式概述以及 23种设计模式的介绍
文章目录 设计模式概述(Design pattern): 设计模式3大类 设计模式的七大原则 设计模式概述(Design pattern): 设计模式:代表了最佳的实践,通常被有经验的面向对象的软件开 ...
最新文章
- Andorid之Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)的用法总结
- png免扣半透素材,让你轻松设计出漂亮的海报!
- 看朋友日志发现的一个ios下block相关的内存管理问题,非常奇怪,请大家帮忙一起来回答!...
- 机器学习sklearn----支持向量机SVC模型评估指标
- 一帮一 分数 15作者 陈越单位 浙江大学
- linux 保存bmp 图片
- 如何用最简单的方法创建一个超好用的微信公众号页面模板?
- Spring 事务源码(6)—createTransactionIfNecessary处理事务属性并尝试创建事务【两万字】
- 订单系统设计 —— 订单管理
- IDEA Maven遇到的问题 wating for maven import completionomitted for duplicate jar
- 中文编程,最精致的python访客登记系统实例项目,微信机器人不再只当人工智障---08
- 520 | 用一幅爱的地图表白他/她
- Neo4j安装及简单使用
- Micro:bit - 功能引脚介绍
- Ubuntu青龙面板安装
- 【SQL】神奇的DUAL表
- JNI入门学程之HelloWorld篇
- php输出扶墙而立的三角形,第10章 天天扶墙而立
- iframe 边框去除,使用大全
- c语言编写u盘杀毒软件,[原创]C语言SDK U盘小偷
热门文章
- NVIDA驱动安装-Ubuntu22.04
- 图片模糊到清晰的展示方式
- 吃东西前最好先念3遍解毒神咒
- 抖音账号矩阵系统源码搭建开发部署分析
- 【中级软考—软件设计师】1计算机组成与体系结构1.2校验码【***】:1.2.3海明校验码总结梳理
- python12306买票_使用 py12306 购票
- c++ xlsx、xls另存PDF
- LeetCode(2)Add Two Numbers
- 7. DS1302时钟
- java 23_《分布式JAVA应用 基础与实践》 第三章 3.2 JVM内存管理(三)