设计模式的定义:
模式是在某情境(context)下,针对某问题的某种解决方案.
反模式:
反模式告诉你如何采用一个不好的解决方案解决一个问题.
1.策略模式(Strategy Pattern)
定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户.
2.观察者模式(Observer Pattern)
定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新.
3.装饰者模式
动态地将责任附加到对象上.若要扩展功能,装饰者提供了比继承更有弹性的替代方案.
4.工厂模式
(1)工厂方法模式:定义了一个创建对象的接口,但由于子类决定要实例化的类是哪一个.工厂方法让类把实例化推迟到子类.
(2)抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类.
5.单例模式
确保一个类只有一个实例,并提供一个全局访问点
6.命令模式
将"请求"封装成对象,以便使用不同的请求,队列或者日志来参数化其它对象.命令模式也支持可撤销的操作.
7.适配器模式
将一个类的接口,转换成客户期望的另一个接口.适配器让原本接口不兼容的类可以合作无间.
8.外观模式
提供了一个统一的接口,用来访问子系统中的一群接口.外观定义了一个高层接口,让子系统更容易使用.
9.模板方法模式
在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤.
10.迭代器模式
提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示.
11.组合模式
允许你将对象组合成树形结构来表现"整体/部分"层次结构.组合能让客户以一致的方式处理个别对象以及对象组合.
12.状态模式
允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类.
13.代理模式
为另一个对象提供一个替身或占位符以控制对这个对象的访问.
14.复合模式
复合模式结合两个或以上的模式,组成一个解决方案,解决一再发生的一般性问题.
分享到:
相关推荐
资源是作者学习设计模式时留下的笔记,内容包含定义,类图,代码,使用场景等,代码为java。
定义: 结构说明: 相关概念: 接口: 接口与抽象类的区别: 面向接口编程: 功能: 时序图: 优缺点: 代码阐释:
HTML设计模式学习笔记 本周我主要学习了HTML的设计模式,现将我的学习内容总结如下: 一.盒模型的学习 CSS中有一种基础的设计模型叫做盒模型,它定义了元素是如何被看做盒子来解析的。我主要学习了六种盒模型,分别...
主要介绍了《javascript设计模式》学习笔记Javascript面向对象程序设计对象成员的定义,结合实例形式分析了《javascript设计模式》中JavaScript面向对象程序设计的原理、定义、用法及操作注意事项,需要的朋友可以参考...
工厂模式和单例模式(https://www.jb51.net/article/184230.htm)应该是设计模式中应用最多的模式了,工厂模式的定义:提供创建对象的接口(来自百度百科:http://baike.baidu.com/view/1306799.htm),意思就是根据...
设计模式学习笔记,此项目参考《大话设计模式》,只能作为入门级设计模式学习 设计原则 职责单一原则 开放-封闭原则 依赖倒转原则 高层模块不依赖底层模块,两个模块都应该依赖抽象。抽象不依赖细节,细节依赖抽象。...
策略模式的定义是:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。 使用策略模式的优点如下: 优点: 1. 策略模式利用组合,委托等技术和思想,有效的避免很多if条件语句。 2. 策略模式提供...
本文实例讲述了Javascript面向对象程序设计组合模式。...其实从面向对象之五之后,与javascript本身关系不是很大,更重要的是设计模式的一些概念,只要了解javascript面向对象的一般知识,掌握设计模式的含义,代码
基本操作:针对每种数据结构,定义了一系列基本的操作,包括但不限于插入、删除、查找、更新、遍历等,并分析这些操作的时间复杂度和空间复杂度。 算法: 算法设计:研究如何将解决问题的步骤形式化为一系列指令,...
单体模式提供了一种将代码组织为一个逻辑单元的手段,这个逻辑单元中的代码可以通过单一变量进行访问。 单体模式的优点是: 可以用来划分命名空间,减少全局变量的数量。 使用单体模式可以使...下面我们来看看定义
建造者模式属于创建型模式,建造者模式是23种设计模式的一种,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示,它提供了一种创建对象的最佳方式。 建造者关系: Product(产品):具体...
本文实例讲述了Javascript面向对象程序设计单例模式原理与实现方法。分享给大家供大家参考,具体如下: 1.单例模式概述 源自百度百科对于单例模式的定义: 单例模式的意思就是只有一个实例。单例模式确保某一个类...
当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用...
该PDF是我在学习state pattern时所做的笔记。里面包括了state pattern 的定义、何时使用、是否使用及实例四个部分,实例部分写的比较细,看完这个实例,相信大家也就知道怎么在自己的项目中应用state pattern了。这...
我是清风~,每天学习一点点,快乐成长多一点,这些都是我的日常笔记以及总结。 目录单例模式懒汉式单例模式未初始化问题解决Double Check 双重检查方案一:不让第二步和第三步重排序-DoubleCheck方案二:基于类初始...
数据库系统概论王珊第五版学习笔记 第一章 1.数据库的四个基本概念:数据、数据库、数据库管理系统、数据库系统。 数据:是数据库中存储的基本对象。描述事物的符号称为数据。 数据库:是长期存储在计算机内、有组织...