首页 > 其他分享 >面向可复用性和可维护性的设计模式

面向可复用性和可维护性的设计模式

时间:2024-05-13 22:20:40浏览次数:14  
标签:pattern 复用 模式 Patterns 可维护性 设计模式

面向可复用性和可维护性的设计模式

HIT Software Consturction

哈工软件构造课程 内容回顾

——Design Patterns for Reuse and Maintainbality

面向可复用性和可维护性的设计模式

Outline(课件)

  • Creational patterns
    • Factory method pattern creates objects without specifying the exact class.
  • Structural patterns
    • Adapter allows classes with incompatible interfaces to work together by wrapping its own interface around that of an already existing class.
    • Decorator dynamically adds/overrides behavior in a method of an object.
  • Behavioral patterns
    • Strategy allows one of a family of algorithms to be selected at runtime.
    • Template method defines the skeleton of an algorithm as an abstract class, allowing its subclasses to provide concrete behavior.
    • Iterator accesses the elements of an object sequentially without exposing its underlying representation.
    • Visitor separates an algorithm from an object structure by moving the hierarchy of methods into one object

总述

all for Reuseability, Maintainablitity and Extensibility.

设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理地运用设计模式可以完美地解决很多问题,每种模式在现实中都有相应的原理来与之对应,每种模式都描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是设计模式能被广泛应用的原因。

来自https://www.runoob.com/design-pattern/design-pattern-intro.html*

晕晕,看不懂

简单来说就是一套经过码农先辈反复使用得到验证被证明行之有效的软件中模块的代码设计“公式”

面向对象的设计模式中,通常来讲除了类本身,这些设计模式更加强调多个类/对象之间的关系与交互过程——这一内容的颗粒度要比接口/类复用的颗粒度要大。

省略:四人帮GOF

根据设计模式的参考书 Design Patterns - Elements of Reusable Object-Oriented Software,我们可以认为一般将设计模式划分为三类:

  • 创造型模式(Creational Patterns):更关注对象创建的过程。相较于直接使用new运算符,这一模式期望在创建对象的同时隐藏创建的逻辑。
  • 结构型模式(Structural Patterns):关注对象之间的组合和关系,解决类/对象的结构组成问题
  • 行为类模式(Behavioral Patterns):关注对象之间的通信和交互,“符号化”类/对象的交互与责任分配方式。

这三类中又包含着丰富的具体设计模式,它们的关系be like:

img

同样来自https://www.runoob.com/design-pattern/design-pattern-intro.html*

设计模式介绍(课内)

下面对课程内涉及的设计模式进行介绍:

创造型模式 (Creational Patterns)

工厂模式(Factory Method)

结构型模式 (Structural Patterns)

适配器模式(Adapter)

装饰器模式(Decorator)

行为类模式 (Behavioral Patterns)

策略模式(Strategy)

模板模式(Template)

迭代器(Iterator)

访问者(Visitor)

设计模式共性/差异比较

总结

标签:pattern,复用,模式,Patterns,可维护性,设计模式
From: https://www.cnblogs.com/HaoranLuo/p/18190182

相关文章

  • 使用 Playwright 复用 Cookie:简化自动化测试的高效方法
    前言在进行自动化测试时,有时需要在多个测试用例之间共享相同的会话状态。为了实现这一目标,Playwright提供了一种称为Cookie复用的功能,可以让我们在不同的测试用例之间共享同一组Cookie数据。本文将深入介绍如何使用Playwright复用Cookie,并探讨其使用方法和优势。什么是......
  • 以MIT实验Turtle Graphcis为例,探讨底层实现和复用相关
    ​在我们软件构造实验中,包含了MIT的原实验TurtleGraphcis的任务,接下来我就在完成这一实验过程中的思考谈谈个人关于底层实现和复用相关的观点。​ MIT的原实验页面链接为http://web.mit.edu/6.031/www/fa18/psets/ps0/,通过阅读页面我们可以了解这一实验的目的。简要来......
  • 设计模式之代理模式
    为什么要代理?解决在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上一个对此对......
  • 5分钟学设计模式:简单工厂与美食街的不期而遇
    大家好,我是知微。写代码好几年,是不是还纠结于这些问题:面对一堆if-else,代码越写越长,维护起来比攀登珠穆朗玛峰还难每次只敢小心翼翼改个小功能,生怕程序突然“嘭”一声,全炸了想学习大佬们的代码,却总是看得一头雾水,不知如何下手。别急,优秀的代码设计往往有秘诀——设计模式。......
  • 设计模式之单例模式
    单例模式提供了一种创建对象的最佳方式:这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。单例类只能有一个实例;单例类必须自己创建自己的唯一实例;单例类必须给......
  • 设计模式04----原型模式
    原型模式(PrototypePattern)是一种创建型设计模式,在软件工程中用来创建对象的副本,从而避免新建对象时的性能开销。此模式利用已存在的对象实例作为原型,通过克隆(Clone)机制来创建新的对象,新对象与原型对象具有相同的属性和状态,但彼此独立,修改一个对象不会影响到另一个。原理与特点......
  • 【redis学习】Redis-IO多路复用
    为什么要有IO多路复用大家印象中的redis都是单线程的,没有加锁的操作,因此才会是redis这么快的原因其中之一。先暂且不说redis究竟是不是单线程,即便是单线程的,作为服务提供方,面对成百上千的客户端连接请求,读写操作,单线程是怎么做到高效的处理这些请求?单线程处理socket连接,面对客户......
  • Java学设计模式之迭代器模式
    一、迭代器模式概念1.1什么是迭代器模式迭代器模式是一种行为型设计模式,它提供了一种方法来顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示。简单来说,迭代器模式可以让你遍历一个集合对象,而无需了解其内部结构。结构迭代器(Iterator):定义了访问和遍历元素的接......
  • Java学设计模式之备忘录模式
    一、备忘录模式概念1.1什么是备忘录模式备忘录模式是一种行为型设计模式,它允许在不破坏封装性的前提下捕获和恢复对象的内部状态。这种模式通常用于需要实现撤销操作或者历史记录功能的场景。结构备忘录模式通常包含以下几个要素:Originator(发起人):定义了一个方法用于创建......
  • Java学设计模式之中介者模式
    一、中介者模式概念1.1什么是中介者模式中介者模式是一种行为型设计模式,它通过将对象之间的交互行为集中到一个中介者对象中来解耦对象之间的关联。这种模式被用来减少对象之间的直接通信,从而降低了系统的耦合度,使得系统易于维护和扩展。结构中介者模式通常包含以下几个要素:......