首页 > 其他分享 >设计模式

设计模式

时间:2023-12-06 22:48:41浏览次数:31  
标签:动机 封装 对象 模式 设计模式 描述

1. 设计模式的概念

在面向对象领域中的一个重要突破就是提出设计模式的概念。

软件的设计模式是人们在长期的开发实践中总结的良好经验,他提供了一个简单、统一的描述方法,使人们可以复用这些软件设计方法、过程管理经验。

2.设计模式的描述

设计模式的概念是来自于建筑师Christopher Alexander提出的,他将模式分为情景,动机,解决方案三个部分。

情景是指模式在何种情况下发生作用,动机是指问题或预期的目标,解决方案是指平衡各动机或解决所阐述的问题的一个构造或配置。

在此理论之上,学者们总结出了设计模式的组成元素

3设计模式的组成元素

1.模式名:

2.问题或意图:

3.情景

4.动机

5.解决方案

6.示例

7.结果背景

8.基本原理

9.相关模式

10.已知应用

4.设计模式的分类

设计模式其实是软件模式的一个分类。软件模式分为设计模式,分析模式,组织与过程模式。设计模式主要用于得到简洁灵活的系统设计。

江湖上有23种设计模式流传广泛。

1. 创建型模式

是对对象实例化过程的抽象,通过采用抽象类所定义的接口,封装了系统中对象如何创建、组合等信息。

2. 结构型模式

主要描述如何组合已有类和对象以获得更大的结构,一般借鉴封装,代理,继承等概念将一个或多个类或对象进行组合、封装,以提供统一的外部视图或新的功能。

3. 行为型模式

主要用于对象之间的职责及其提供的服务的分配,描述对象或类之间的通信模式,特别描述一组对等的对象怎样相互协作已完成其中任一对象单独无法完成的任务。

标签:动机,封装,对象,模式,设计模式,描述
From: https://www.cnblogs.com/anttech/p/17880683.html

相关文章

  • 软件设计模式的七大原则
    1.单一职责原则一个类应该有且仅有一个引起它变化的原因例如实现登录功能,不应该设计一个类,即负责数据库的连接,又负责页面的初始化,又负责数据的接收和处理而应该把这些功能分开,分成多个不同的类,各司其职2.开闭原则一个软件实体应该对拓展开放对修改关闭,也就是说,当需要修改功......
  • 小谈设计模式(12)—迪米特法则
    (小谈设计模式(12)—迪米特法则)专栏介绍专栏地址http://t.csdnimg.cn/VpriY专栏介绍主要对目前市面上常见的23种设计模式进行逐一分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。希望各位可以监督我,我们一起学习进步,加油,各位。迪米特法则迪米特法则(LawofDemeter)......
  • 设计模式(十六)迭代器
    一、定义提供一种方法顺序访问一个聚合对象中的各个元素,且不用暴露该对象的内部表示。迭代器模式是一种对象行为型模式,又称为游标(Cursor)模式。二、描述在软件系统中,聚合对象拥有两个职责:一是存储数据,二是遍历数据。从依赖性来看,前者是聚合对象的基本职责,而后者既是可变化的,又是......
  • go设计模式之工厂模式
    Go语言实现设计模式之工厂方法模式原创 汀风 汀风说后端 2023-12-0608:10 发表于北京汀风说后端编程知识普及,让学习与工作变得更简单。18篇原创内容公众号摘要:工厂方法模式是一种创建型设计模式,它将对象的创建延迟到子类中进行,通过定义一个创建对......
  • 23种设计模式——抽象工厂模式
    今天我们来学习一下第三种设计模式——抽象工厂模式,概念:所谓抽象工厂模式就是提供一个接口,用于创建相关或者依赖对象的家族,而不需要明确指定具体类。它允许客户端使用抽象的接口来创建一组相关的产品,而不需要关心实际产出的具体产品是什么。这样一来,客户就可以从具体的产品中被......
  • 小谈设计模式(11)—模板方法模式
    (小谈设计模式(11)—模板方法模式)主要对目前市面上常见的23种设计模式进行逐一分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。希望各位可以监督我,我们一起学习进步,加油,各位。模板方法模式这是一种行为型设计模式,用于定义算法的框架,将算法的具体实现延迟到子类中。角......
  • 设计模式之外观模式
    1.定义提供了一个统一的接口,用来访问子系统中的一组接口2.口语化表述工厂里组装台灯,流程、配件等有多种方式,每种台灯有自己的生产线现在,需要某一种台灯,一种方式是直接去找这个台灯的生产线生成,这会令人烦恼,因为寻找是一件无聊而繁琐的事情另一种方式是成立一个工厂前台,需要......
  • 设计模式之七大原则
    单一职责原则类的职责要单一,不能将太多的职责放在一个类中。请看代码示例:未采用单一职责原则packagecom.std.www.designPattern.principle;classStudent{publicvoidgetDBConnection(){System.out.println("连接到数据库");}publicvoidaddStu......
  • 设计模式
    设计模式分创建型、结构型、行为型模式,以下是详述创建型模式隐藏了创建对象的过程,通过逻辑方法创建对象,而不是通过new关键字*工厂方法模式*抽象工厂模式*单例模式*建造者模式*原型模式结构型模式主要关注类和对象的组合关系继承的概念......
  • JavaScript的设计模式—构造器模式
    设计模式介绍设计模式是我们在解决问题的时候针对特定问题给出的简洁而优化的处理方案在JS设计模式,最核心的思想:封装变化将变与不变分离,确保变化的部分灵活,不变的部分稳定构造器模式varemployee1={name:'Kerwin',age:100}varemployee2={name:'xiaoming',......