01-软件设计模式

软件设计模式

设计模式(Design Pattern)

定义:

**设计模式是一套被反复使用、多数人知晓、经过分类编目的、代码设计经验的总结。**使用设计模式为了可重用代码、让代码更容易被他人理解、保证代码可靠性。

设计模式的关键要素

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

设计模式的主要优点:

  • 以一种标准的形式供广大开发人员所用,提供了一套通用的设计词汇和一种通用的语言方便开发人员之间的沟通和交流。
  • 对于使用不同编程语言的开发和设计人员都可以通过设计模式交流系统设计方案,降低开发人员理解系统的复杂度

软件体系结构

定义:是对系统的高层设计,是从一个较高的层次来考虑组成系统的构件构件之间的连接关系,以及系统需满足的约束等。

设计模式可以用于软件体系结构的设计,以实现体系结构级的设计复用

用于软件体系结构的设计模式通常称为:

  • 架构模式(Architecture Pattern)
  • 体系结构风格(Architectrue Style)

根据问题的规模或抽象层次将设计模式分为三个层次:

  • 架构模式:是一种高层模式,用于描述系统级的结构组成、相互关系及相关约束。
  • 设计模式:中层模式,是针对系统局部设计问题给出的解决方案。
  • 习惯用法:是与具体编程语言相关的底层模式,给出的解决方案通常与编程语言的某种语法机制相关。

设计模式的分类

根据目的分类:

  • 创建型(Creational)模式主要用于创建对象
  • 结构型(Structural)模式主要用于处理类或对象的组合
  • 行为型(Behavioral)模式主要用于描述对类或对象怎样交互和怎样分配职责

根据范围分类:

模式:处理类和子类之间的关系,这些关系通过继承建立,在编译时刻就被确定下来,属于静态的。

对象模式:处理对象间的 关系,这些关系在运行时刻变化,更具动态性。

开闭原则

对于扩展是开放的(Open for extension):模块的行为是可以扩展的,即当需求改变时,软件开发者可以对模块进行扩展,增加新的功能

对于修改是封闭的(Close for modification):在对模块进行扩展时,不允许改动模块中存在的类的源代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

溢秋

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

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

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

打赏作者

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

抵扣说明:

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

余额充值