设计模式是谁提出的

设计模式的概念最早是由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四人所提出,被合称为Gang of Four(GoF),他们在1994年出版了一本名为《Design Patterns: Elements of Reusable ObjectOriented Software》的书,首次系统地介绍了23种经典的设计模式,这些设计模式被分为三大类:创建型、结构型和行为型。

创新互联建站服务项目包括宿城网站建设、宿城网站制作、宿城网页制作以及宿城网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,宿城网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到宿城省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

创建型设计模式

创建型设计模式主要关注对象的创建过程,将对象的创建和使用分离,以提高系统的灵活性和可扩展性,以下是五种主要的创建型设计模式:

序号设计模式名称描述
1单例模式确保一个类只有一个实例,并提供全局访问点。
2工厂方法模式定义一个接口用于创建对象,但让子类决定实例化哪一个类。
3抽象工厂模式提供一个接口用于创建一系列相关或相互依赖的对象,而无需指定它们具体的类。
4建造者模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
5原型模式用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。

结构型设计模式

结构型设计模式主要处理类和对象的组合,以形成更大的结构,以下是七种主要的结构型设计模式:

序号设计模式名称描述
6适配器模式将一个类的接口转换成客户希望的另一个接口。
7桥接模式将抽象部分与它的实现部分分离,使它们都可以独立地变化。
8组合模式将对象组合成树形结构以表现“部分整体”的层次结构。
9装饰器模式动态地给一个对象添加一些额外的职责。
10外观模式为子系统中的一组接口提供一个统一的高层接口。
11享元模式运用共享技术有效地支持大量细粒度的对象。
12代理模式为其他对象提供一种代理以控制对这个对象的访问。

行为型设计模式

行为型设计模式主要关注对象之间的通信,包括对象的职责以及它们之间的交互,以下是十一种主要的行为型设计模式:

序号设计模式名称描述
13模板方法模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。
14观察者模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。
15策略模式定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。
16命令模式将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化。
17职责链模式为解除请求的发送者和接收者之间耦合,而使多个对象都有机会处理这个请求。
18状态模式允许一个对象在其内部状态改变时改变它的行为。
19访问者模式表示一个作用于某对象结构中的各元素的操作。
20中介者模式用一个中介对象来封装一系列的对象交互。
21迭代器模式提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。
22解释器模式给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。
23备忘录模式在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。

FAQs

Q1: 什么是设计模式?

A1: 设计模式是一种在软件工程中可重复使用的解决特定问题的方案,它提供了一种经过优化并可重用的设计经验,设计模式通常用于解决在不同环境中反复出现的设计问题,它帮助开发者通过提供一个可被多次使用的设计模板来解决这些问题。

Q2: GoF的23种设计模式是否包含了所有可能的设计问题?

A2: GoF的23种设计模式是一套经典的设计模式集合,它们覆盖了面向对象设计中常见的设计问题,这并不是一个绝对完整的集合,随着软件开发实践的发展,可能会有新的设计模式被发现和创造出来,根据具体的应用场景和需求,某些设计模式可能需要进行调整或结合使用才能更好地解决问题。

当前题目:设计模式是谁提出的
网页网址:http://www.csdahua.cn/qtweb/news11/18361.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网