设计模式 Design Pattern

  • 概念

    • 代码设计经验的总结

      • 被反复使用

      • 多数人知晓

    • 面向对象设计中反复出现的问题的解决方案

    • 专用于软件开发过程设计的模式

      • 模式

    • 抽象的模版

      • 模版和模型的区别?

  • 背景

    • 最初是应用于用于建筑领域的思想

      • 1987年软件开发模式出世

      • 1991年 Design Patterns 问世

  • 原则/特性 SOLID

    • 单一职责 SRP

    • 开闭原则 OCP

    • 里氏替换原则 LSO

    • 接口隔离原则 ISP

    • 依赖倒置原则DIP

    • 迪米特法则(Demeter Principle)

    • 合成复用原则(Composite Reuse Principle)

      • 组合

  • 作用

    • 增强可重用性

      • 提高代码的可重用性

      • 提高程序的重用性

    • 增强可靠性

    • 增强可读性

      • 使代码容易被他人理解

    • 增强可扩展性

    • 高内聚低耦合

  • 模式格式

    • 模式名称(Pattern Name):每一个模式都有自己的名字,模式的名字使得我们可以讨论我们的设计。

    • 问题(Problem):在面向对象的系统设计过程中反复出现的特定场合,它导致我们采用某个模式。

    • 解决方案(Solution):上述问题的解决方案,其内容给出了设计的各个组成部分,它们之间的关系、职责划分和协作方式。

    • 效果(Consequence):采用该模式对软件系统其他部分的影响,比如对系统的扩充性、可移植性的影响。影响也包括负面的影响。

    • 别名(Also Known As):一个模式可以有超过一个以上的名称。这些名称应该要在这一节注明。

    • 动机(Motivation):该模式应该利用在哪种情况下是本节提供的方案(包括问题与来龙去脉)的责任。

    • 应用(Applicability)

    • 结构(Structure):这部分常用类图与互动图阐述此模式。

    • 参与者(Participants):这部分提供一份本模式用到的类与物件清单,与它们在设计下扮演的角色。

    • 合作(Collaboration):描述在此模式下,类与物件间的互动。

    • 结果(Consequences):这部分应描述使用本模式後的结果、副作用、与交换(trade-off)

    • 实现(Implementaion):这部分应描述实现该模式、该模式的部分方案、实现该模式的可能技术、或者建议实现模式的方法。

    • 例程(Sample Code):示范程式。

    • 已知应用(Known Uses):业界已知的实做范例。

    • 相关模式(Related Patterns):这部分包括其他相关模式,以及与其他类似模式的不同。

  • 类型

    • MVC

    • 创造型

      • 抽象工厂

      • 工厂方法模式

      • 构造器模式

    • 结构型

    • 行为型

  • 必要元素

    • 模式名称

    • 待解决的问题

    • 解决方案

    • 效果

      • 结果

      • 利弊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值