Loading

设计模式概述

设计模式概述

索引

  • 我的一些笔记

面向对象设计原则

设计模式总结:创建型模式

设计模式总结:行为型模式

设计模式总结:结构型模式

  • 值得参考的网站

http://c.biancheng.net/design_pattern/

https://design-patterns.readthedocs.io/zh_CN/latest/index.html

https://refactoringguru.cn/design-patterns

设计模式是什么?举例说明类模式和对象模式的区别?

设计模式对MVC的影响?

最小知识原则在设计模式中的应用?

软件模式

  • 软件模式是将模式的一般概念应用于软件开发领域,即软件开发的总体指导思路或参照样板

  • 除了设计模式,还包括架构模式、分析模式、过程模式等

  • 一定条件下的出现的问题以及解法

  • 四个部分:问题描述、前提条件(环境或约束条件)、解法和效果

    image-20210625154953216

  • 大三律(Rule of Three):即只有经过三个以上不同类型(或不同领域)的系统的校验,一个解决方案才能从候选模式升格为模式

设计模式

定义

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

分类

根据目的分类

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

根据范围

  • 类模式处理类和子类之间的关系,通过继承建立关系,在编译器就被确定下来,属于静态的
  • 对象模式处理对象间的关系,这些关系随时在变化,具有动态性

image-20210625155331466

应用

一个游戏,有几种人类角色:骑士、骑兵、步兵,持有不同的武器(矛、剑、斧),拥有fight方法;有一个非人类角色巨魔,可以持有武器,但攻击方法不同(beat)。现在希望让巨魔和其他人类角色一起进行游戏,并且要求有角色死亡时其他活着的角色要收到通知。运用设计模式进行设计,并画出类图。

角色+武器:桥接模式

非人类角色:适配器(可以用类适配器感觉)

死亡通知:观察者+中介模式(后两者类似MVC)

posted @ 2021-06-29 16:54  cpaulyz  阅读(170)  评论(0编辑  收藏  举报