设计模式定义:设计模式是从许多优秀的软件系统中总结出成功的可复用的设计方案
面向对象的几个基本原则:
1.面向抽象原则 -使用抽象类和接口 eg:计算柱体的面积
2.开-闭原则 -开是可扩展 闭-是不修改的部分 同样上面的例子
3.多用组合少用继承 - 子类从父类继承的方法在编译时就确定下来了,所以无法在运行期间改变从父类继承的方法的行为。
子类和父类的关系是强耦合关系,也就是说当父类的方法的行为更改时,必然导致子类发生变化。
4.高内聚 -低耦合原则
23种设计模式的理解:
1.工厂方法模式:用户需要一个类的子类的实例,但不希望与该类的子类形成耦合;用户需要一个类的子类的实例,但用户不 知道该类有那些子类可用。
结构描述:抽象产品,具体产品,抽象构造者,具体构造者
eg:药店生成药品
2.抽象工厂模式:系统需要为用户提供多个对象,但不希望用户直接使用new 运算符实例化这些对象,即希望用户和创建对象 的类脱耦。系统需要为用户提供多个相关的对象,以便用户联合例用他们,但又不希望用户来决定这些对象是如何关联的。
系统需要为用户提供一系列对象,但只需要用户知道这些对象有那些方法可用,不需要用户知道这些对象的创建的过程。
eg: 衣服配套
3.装饰模式:程序希望动态地增强类的某个对象的功能,而又不影响到该类的其它对象。采用继承来增强对象功能不利于系 统的扩展和维护。
结构描述:抽象组件,具体组件,装饰,具体装饰
eg:鸟飞
4.观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖它的对象都得到通知并被自 动更新。
结构描述:主题 ,具体主题 ,观察者,具体观察者
eg:求职
5.策略模式:定义一系列算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而 变化。
结构描述:策略,具体策略,上下文
eg:士兵排队算法
6.适配器模式:使得原本由于接口不兼容而不能一起工作的那些类可以一起工作.
结构描述:目标,被适配者,适配器
eg:两相,三相插头的适配
7.代理模式:为其它对象提供一种代理以控制对这个对象的访问.
代理模式可以屏蔽用户真正请求的对象,使用户程序和真正的对象这间解耦
使用代理来担当那些创建耗时的对象的替身
结构描述:抽象主题 ,实际主题,代理
eg:代理验证3角形
8.外观模式:
为系统中的一组接口提供一个一致的界面。该模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
结构描述:子系统,外观
eg:邮寄包裹流程
分享到:
相关推荐
在“23设计模式源代码”这个资源中,包含的就是这23种经典的设计模式的实现,这将有助于开发者更好地理解和应用这些模式。 首先,我们来逐一了解这23种设计模式: 1. **单例模式**:确保一个类只有一个实例,并...
《尚学堂高琪GOF23设计模式代码与资料详解》 设计模式是软件开发中的重要概念,它代表了在特定上下文中解决常见问题的最佳实践。GOF23设计模式,由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四位...
Java 23设计模式是软件开发中一套经过实践验证的可重用代码组织方式,它为解决特定场景下的常见问题提供了标准的解决方案。这23种设计模式是根据GOF(GoF,Gang of Four)的经典著作《设计模式:可复用面向对象软件...
《23设计模式3》这本书聚焦于面向对象编程领域中的设计模式,这些模式代表了软件设计中的精华经验,旨在提供可复用、高效且清晰的解决方案。设计模式是经过实战检验的最佳实践,可以帮助开发者在遇到常见问题时快速...
### 23设计模式简讲 #### 创建型模式 1. **ABSTRACT FACTORY** - **场景解析**:约会场景中,无论是选择麦当劳还是肯德基,只要告诉店员“来一份B套餐”即可。这里,麦当劳和肯德基就像是抽象工厂,它们提供了一...
《C#23设计模式》深入解析 设计模式是软件工程中的一种最佳实践,是对在特定情境下解决常见问题的模板。C#23设计模式涵盖了23种经典的模式,这些模式可以分为三大类别:创建型、结构型和行为型。在这里,我们将详细...
在这个“23设计模式java源码”压缩包中,你将找到所有23种经典设计模式的Java实现。 1. **单例模式**(Singleton):确保一个类只有一个实例,并提供一个全局访问点。在Java中,通常使用双重检查锁定或静态内部类来...
"23设计模式2"这个主题涵盖了面向对象设计中的23个核心设计模式,这些都是经过时间考验并被广泛接受的解决方案。 1. **单例模式**:保证一个类只有一个实例,并提供全局访问点。在Java中,单例模式常用于配置管理或...
《C# 23设计模式 (带实例源代码)》这本书深入浅出地介绍了软件开发中的23种经典设计模式,这些模式源自于GOF(GoF,Gang of Four)的经典著作《设计模式:可复用面向对象软件的基础》。设计模式是经过实践验证的解决...
设计模式详解 设计模式是软件开发中的一...在本文中,我们对23种常见的设计模式进行了整理和解释,每种模式都有其优点和缺点,开发者可以根据实际情况选择合适的设计模式,以提高代码的可重用性、可维护性和可扩展性。
GOF 23设计模式的Visio版UML图
### GOF23 设计模式与MM:从追MM谈Java的23种设计模式 #### FACTORY(工厂模式) 工厂模式是一种常见的设计模式,它提供了创建对象的最佳方式。在这个模式下,通常会定义一个创建对象的接口,但是让子类决定实例化...
GOF(GoF)23种设计模式,是由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四位大神在他们的著作《设计模式:可复用面向对象软件的基础》中提出的,这些模式分为创建型、结构型和行为型三大类。...
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统...
### JAVA 23设计模式一点就通 #### 一、创建型模式 ##### FACTORY(工厂模式) 在软件开发过程中,经常会遇到需要根据不同的条件创建不同类型对象的情况。工厂模式提供了一个解决方案,它定义了一个创建对象的...
"Java23设计模式-jms.zip"这个压缩包包含了一份关于Java设计模式的课程资料,特别是与Java消息服务(JMS)相关的应用。以下是针对Java设计模式的一些详细解释和应用实例。 1. **单例模式**:确保一个类只有一个实例...
设计模式分为创建型、结构型和行为型三类,总共包含23种模式。在C++中实现这些模式,不仅可以提升代码的复用性,还能提高软件的质量和可维护性。 创建型模式包括: - Factory模式:定义一个用于创建对象的接口,让...
《GOF23设计模式的Visio版UML图》是一个关于软件设计模式的重要资源,它包含用Visio工具绘制的UML(统一建模语言)图表,详细展现了GOF23中的23种经典设计模式。这些模式是面向对象编程和设计中不可或缺的组成部分,...