设计模式的基本概述

一.什么是设计模式

1.设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路,它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案 。

2.1995 年,GoF(Gang ofFour,四人组/四人帮)合作出版了《设计模式:可复用面向对象软件的基础》一书,共收录了 23 种设计模式,从此树立了软件设计模式领域的里程碑,人称[GoF设计模式」。

二.学习设计模式的意义

1.设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解。

2.正确使用设计模式具有以下优点:

(1)可以提高程序员的思维能力、编程能力和设计能力。

(2)使程序设计更加标准化、代码编制更加工程化,使软件开发效率大大提高,从而缩短软件的开发周期。

(3)使设计的代码可重用性高、可读性强、可靠性高、灵活性好、可维护性强。

3.对于一些简单的程序开发,可能写一个简单的算法可能比设计模式更有意义,所以说学习设计模式,更重要的是理解它的思想和一些应用场景,每个业务针对的场景都不一样,设计模式它不一定就是最好的。

三.设计模式的基本要素

1.模式名称

根据模式的特点、问题、解决方案、 功能、效果来进行命名,可以有效的帮助我们记忆这个模式是干嘛的,也方便讨论自己的一些设计。

2.问题

描述了这个模式应用的一些环境,什么时候该去使用这个设计模式,解释了问题和问题存在的前因后果以及满足的一些条件。(比如说单列模式就是为了解决系统开销问题)

3.解决方案

包括设计模式的组成成分,它们之间的关系是怎么样的,还有就是它们是用来干嘛的,一个模式我们可以想成就是一个模版,它可以运用于不同场合,所以说解决方案不是用来描述一个特定或具体的一个实现,而是提供一个设计的抽象描述,重点是用来解决问题。

4.效果

描述了这个模式应用的一些效果,以及该模式应该权衡的一些问题,考虑它的优缺点。

四.Fof23

1.GoF 23

一种思维,一种态度,一种进步。

2.创建型模式(让对象的创建和使用分离):
单例模式工厂模式、抽象工厂模式、建造者模式、原型模式。

3.结构型模式(让类和对象按照某种布局组成更大的结构):

适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式

3.行为型模式(描述类和对象之间怎么进行相互协作,共同完成单个对象无法完成的任务):

解释器模板方法模式,命令模式,迭代器模式,观察者模式,中介者模式,备忘录模式,模式,状态模式,策略模式,职责链模式,访问者模式。

相关推荐
知彼解己10 小时前
深入理解 AbstractQueuedSynchronizer (AQS):Java 并发的排队管家
java·开发语言
User_芊芊君子11 小时前
【JavaSE】复习总结
java·开发语言·python
我有一颗五叶草11 小时前
线程间通信
java·开发语言
我真的是大笨蛋15 小时前
K8S-Pod(下)
java·笔记·云原生·容器·kubernetes
碳水加碳水15 小时前
Java代码审计实战:XML外部实体注入(XXE)深度解析
java·安全·web安全·代码审计
TechNomad16 小时前
设计模式:状态模式(State Pattern)
设计模式·状态模式
努力也学不会java16 小时前
【设计模式】 原型模式
java·设计模式·原型模式
方渐鸿17 小时前
【2024】k8s集群 图文详细 部署安装使用(两万字)
java·运维·容器·kubernetes·k8s·运维开发·持续部署
学亮编程手记17 小时前
K8S v1.33 版本主要新特性介绍
java·容器·kubernetes
Haven-18 小时前
Java-面试八股文-JVM篇
java·jvm·面试