【设计模式】——专栏概述

💻博主现有专栏:

                C51单片机(STC89C516),c语言,c++,离散数学,算法设计与分析,数据结构,Python,Java基础,MySQL,linux,基于HTML5的网页设计及应用,Rust(官方文档重点总结),jQuery,前端vue.js,Javaweb开发,设计模式、Python机器学习等
🥏主页链接:

                Y小夜-CSDN博客

目录

🎯 设计模式的诞生与发展

🎃 模式的诞生

🎃模式的定义

🎃设计模式

🎃软件模式

🎃设计模式的定义

🎃设计模式的基本要素

🎯参考资源


🎯 设计模式的诞生与发展

  • 软件设计:
    • 设计模式
  • 体系结构(软件架构
    • 管道过滤器架构
    • MVC架构
    • 微服务架构
    • 云计算架构
    • 无服务架构

🎃 模式的诞生

  • 模式(Pattern)起源于建筑业而非软件业
  • 模式之父——美国加利佛尼亚大学环境结构中心研究所所长Christopher Alexander博士

  • 《A Pattern Language: Towns, Buildings, Construction》——253个建筑和城市规划模式
  • 模式
    • Context(模式可适用的前提条件)
    • Theme或Problem(在特定条件下要解决的目标问题)
    • Solution(对目标问题求解过程中各种物理关系的记述)

🎃模式的定义

Alexander给出了关于模式的经典定义:

        每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心,通过这种方式,人们可以无数次地重用那些已有的解决方案,无需再重复相同的工作

        模式是在特定环境中解决问题的一种方案 (A pattern is a solution to a problem in a context)

🎃设计模式

  • 软件模式 20世纪80年代末,软件工程界开始关注 Christopher Alexander等在公共建筑 与城市规划领域的重大突破
  • “四人组(Gang of Four,GoF,分别是Erich Gamma, Richard Helm, Ralph Johnson和John Vlissides)”于1994年归纳发表了23种在软件开发中使用频率较高的设计模式,旨在用模式来统一沟通面向对象方法在分析、设计和实现间的鸿沟。

🎃软件模式

  软件模式:在一定条件下的软件开发问题及其解法

🎃设计模式的定义

        设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结

         使用设计模式是为了可重用代码、让代码更容易被他人理解、提高代码的可靠性

🎃设计模式的基本要素

        设计模式一般有如下几个基本要素:模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式,其中的关键元素包括以下四个方面:

  • 模式名称 (Pattern name)
  • 问题 (Problem)
  • 解决方案 (Solution)
  • 效果 (Consequences)

🎯参考资源

  1. 史上最全设计模式导学目录(完整版)_史上最全设计模式lovelion-CSDN博客
  2. 黑马程序员Java设计模式详解, 23种Java设计模式(图解+框架源码分析+实战)_哔哩哔哩_bilibili
  3. 设计模式 | 菜鸟教程
  • 28
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Y小夜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值