当前位置: 首页 > article >正文

2-Python与设计模式--前言

0-Python与设计模式–前言

一 什么是设计模式

设计模式是面对各种问题进行提炼和抽象而形成的解决方案。这些设计方案是前人不断试验,
考虑了封装性、复用性、效率、可修改、可移植等各种因素的高度总结。它不限于一种特定的语言,
它是一种解决问题的思想和方法

二 为什么要有设计模式

公司人事会有变动,程序员也会成长。不管是哪种情况,代码非常有可能会被移交,即代码的编写者和维护者
很有可能会是不同的人。那么代码的可读性就显得非常重要了。由于高级语言的出现,让机器读懂你的意图
已经不是最主要的“矛盾”,而让人读懂你的意图才是最重要。按照设计模式编写的代码,其可读性也会大大
提升,利于团队项目的继承和扩展

三 有那些设计模式

设计模式可以分为三个大类:创建类设计模式、结构类设计模式、行为类设计模式

创建类设计模式(5种)
单例模式、工厂模式(简单工厂模式、抽象工厂模式)、建造者模式、原型模式

结构类设计模式(7种)
代理模式、装饰器模式、适配器模式、门面模式、组合模式、享元模式、桥梁模式

行为类设计模式(11种)
策略模式、责任链模式、命令模式、中介者模式、模板模式、迭代器模式、访问者模式、观察者模式、
解释器模式、备忘录模式、状态模式

 设计模式也衍生出了很多的新的种类,不局限于这23

四 设计模式与架构,框架的关系

1 软件框架与设计模式的关系

软件框架随着软件工程的发展而出现,所谓的软件框架,是提取了特定领域的软件的共性部分所形成的软件体
系,它并不是一个成熟的软件,而更像是一个“半成品”,程序员在框架之上,可以很方便地某些特定领域实现
又快又可靠的二次开发。

设计模式和软件框架在软件设计中是两个不同的研究领域:A、设计模式如前边的定义所讲,它指的是针对一类
问题的解决方法,一个设计模式可应用于不同的框架和被不同的语言所实现;而框架则是一个应用的体系结构,
是一种或多种设计模式和代码的混合体;B、设计模式相较于框架更容易移植,并且可以用各种语言实现,
而软件框架则受限于领域大环境。虽然设计模式和软件框架有很多不同,但在某些方面他们二者是统一的,
即重视软件复用,提高开发效率。

2 软件架构与设计模式的关系

软件架构是个比较大的概念,架构要考虑软件的整体结构、层次划分以及不同部分间的协作和交互等,
架构的着眼点偏整体。相比之下,框架和设计模式的范围则具体很多,框架着眼于领域内的解决方法,
而设计模式则针对一类问题的解决方案和设计思路。

总体来说,软件架构可以由不同的框架和不同的设计模式,再加上特定的构件组合来实现;
框架可以根据设计模式结合特定编程语言和环境来实现。设计模式就是解决单一问题的设计思路和解决方法。

http://www.kler.cn/a/147125.html

相关文章:

  • 基于Java和Vue实现的上门做饭系统上门做饭软件厨师上门app
  • WEB服务器实现(药品商超)
  • Visual Studio 2017 快捷键设置-批量注释和批量取消注释
  • 螺旋矩阵II(leetcode 59)
  • 遇到 mysql_config not found 错误
  • 谷粒商城のRedisESRabbit MQ集群
  • MIT6.824-Raft笔记:Raft初探、副本间log时序
  • Electronica慕尼黑电子展 Samtec团队与21ic分享虎家产品与方案
  • AI - Steering behaviors(转向系统)
  • 阶段二:进阶知识(掌握Python的常用设计模式)
  • FinGPT:金融垂类大模型架构
  • [⑥ADRV902x]: 软件系统初始化流程学习
  • SWT/Jface(4): TreeViewer渲染简单树对象
  • 递归实现选择排序.
  • js执行异常处理 箭头函数 正则表达式
  • 二、Lua数据类型
  • 运维01:云计算
  • 华为ospf路由协议防环和次优路径中一些难点问题分析
  • 力扣算法练习BM50—两数之和
  • 五子棋游戏
  • 【Linux】bash 终端指令
  • pip install 使用清华镜像源
  • 相同JS代码,多次混淆加密能得到不同的结果吗?
  • C++之常用的拷贝和替换算法
  • 蓝桥杯day01——根据给定数字划分数组
  • 第二节HarmonyOS DevEco Studio创建项目以及界面认识