JAVA设计模式--概述

PART01.设计模式的诞生和发展
设计模式起源于建筑,公认的建筑学领域模式之父Christopher Alexander用了20年的时间,对住宅、环境进行调查和收集资料发现的一些共同的规律,并归纳为253个模式。
每个模式都是从Context(模式可适用的前提条件)、Theme或者Problem(在特定条件下要解决的目标问题)、Solution(对目标问题求解过程中各种物理关系的记述)等三个侧面进行描述并提供过程模型

将模式引入软件工程领域的是GoF(Gang of Four),由此诞生了软件模式。Gof讲述的是一种思想而并不是一种具体的“技术”,它不仅展示接口或抽象类在实际工作中的灵活应用和智慧,更能让你真正掌握接口或抽象类的应用,从而在计算机语言中更进一步,更重要的是,GoF的设计模式反复向你强调一个宗旨:让你的程序尽可能达到可复用状态。

PART02.设计模式的定义。

设计模式是一套可以被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解并且提高代码的可靠性。对于新手小白想更轻松的学好Java提升,Java架构,web开发、大数据,数据分析,人工智能等技术,这里给大家分享系统教学资源,扩列下我尉(同英):CGMX9880 【教程/工具/方法/解疑】

Gof对设计模式的定义:设计模式是在特定环境下为解决某一通用软件设计问题提供的一套定制的解决方案,该方案描述了对象和类之间的相互作用。

PART03
.设计模式的基本要素
设计模式一般包含模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式。
模式名称是通过来描述模式的问题、解决方案和效果,便于更好的理解模式

问题描述了应该在什么时间什么地点使用模式,包含了设计中存在的问题以及问题原因

解决方案描述了设计模式的组成部分,以及这些组成成分之间相互关系、职责和协作方式,模式适用于各种不同的场景

效果描述了模式应用的效果以及在使用模式时应当权衡的问题

PART04.设计模式的分类

设计模式一般有两种分类方式

1.根据目的分类:
    创建型 主要用于创建对象。有工厂方法模式(Factory Method)、抽象工厂模式(Abstract Factory)、建造者模式(Builder)、原型模式(Prototype)、<检查>(Singleton)5种。

结构型 主要用于处理类和对象的组合。有适配器模(Adapter)、桥接模式(Bridge)、组合模式(Composite)、装饰模式(Decorator)、外观模式(Facade)、享元模式(Flyweight)、代理模式(Proxy)7种。
   行为型 主要用于描述类或对象怎么样交互和怎样分配职责。有链模式(Chain of Responsibility)、命令模式(Command)、解释器模式(Interpreter)、迭代器模式(Iterator)、中介者模式(Mediator)、备忘录模式(Memento)、观察者模式(Observer)、状态模式(State)、策略模式(Stratege)、模板方法模式(Template Method)、访问者模式(Visitor) 11种。
2.根据范围分类:
可分为类模式和对象模式。
类模式用于处理类和子类的关系,这种关系通过继承建立,在编译时就确定了,是一种静态关系。
对象模式处理对象间的关系,具有动态关系。
类模式有 工厂方法模式、 适配器模式、解释器模式、模板方法模式,其余是对象模式。
PART05.设计模式的作用和优点

1.设计模式以一种标准的方式供广大开发人员使用,为开发者的沟通提供了一套机制,帮助开发者更好地明白和更清晰地描述一段被给出的代码。
2.设计模式可以使人们更加方便简单复用成功的设计模式和结构。
3.设计模式可以使人们深入理解面向对象的设计思想,提高软件的开发效率,节约设计成本。

声明:本文为个人读JAVA设计模式感悟

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值