设计模式(35)-----设计模式阶段性总结(一句话概括一个模式)

目录:

设计模式(1)------初始设计模式(回调函数)

设计模式要从语义上出发,而不要从语法上出发,其实设计模式归根结底就是多态的有计划的组合。

设计模式(2)------行为型模式------观察者设计模式

想想气象站,根据天气的变化动态的通知观众实时天气。当一个对象的状态改变时,通知另一个对象作出相应的改变,而中间的观察和通知者就是主要的观察者设计模式。出版者+订阅者=观察者模式

设计模式(3)------行为型模式------观察者设计模式(jdk自带)

设计模式(4)------结构型模式------装饰者设计模式

想想inputStream它的铺天盖地的包装类。加一层包装就多一个功能。

设计模式(5)------结构型模式-----装饰者设计模式(IO流的应用)

设计模式(6)------结构型模式------装饰者设计模式(案例补充)

设计模式(7)-----创建型模式-----工厂设计模式(简单工厂设计模式)

设计模式(8)-----创建型模式----- 工厂设计模式(工厂模式)

想想spring创建bean对象。一个产品类对应着一个产品工厂类。

设计模式(9)----- 创建型模式-----工厂设计模式(抽象工厂模式)

想想spring创建bean对象。一组产品对应着一个产品工厂类

设计模式(9)----- 补充spring中的工厂设计模式(手写IOC容器)

设计模式(10)-----创建型模式----- 单例设计模式

想想springmvc的单例设置。内存中永远有一个对象。

设计模式(11)-----行为型模式-----命令设计模式

设计模式(12)----- 行为型模式-----命令设计模式(升级----一个开关控制多条命令)

设计模式(13)----- 行为型模式-----命令设计模式(升级----加一个撤销的命令)

设计模式(14)----- 行为型模式-----命令设计模式(升级----一个命令对象执行多条命令)

就是让请求者和执行者之间解耦,主要通过命令来调用相应的动作。

设计模式(15)-----行为型模式-----策略设计模式

最基本的设计模式,就是在算法之间随意的切换,主要是多态。

设计模式(16)-----结构型模式-----适配器设计模式

在实现了接口的内部调用其它的方法。偷换概念

设计模式(17)-----结构型模式-----外观设计模式

就是留一个方法,统一调用里面一组的数据。有点类似于抽象工厂设计模式。

设计模式(18)-----行为型模式-----模板设计模式

其实和外观有点像,只不过模板没有外观那么简洁,可能4个方法是一套流程,但是只有两个是用模板的。

设计模式(19)-----行为型模式-----迭代器设计模式

可以迭代不同数据结构的数据。

设计模式(20)-----结构型模式-----组合设计模式

想想菜单和菜单项

设计模式(21)-----行为型模式-----状态设计模式

每个状态对应着不同的行为(类或者方法)

设计模式(22)-----结构型模式-----代理设计模式-----静态代理

设计模式(23)-----结构型模式-----代理设计模式-----动态代理

找中介来处理这个问题。有点类似于中介模式。

设计模式(24)-----行为型模式-----责任链模式-----拦截器设计模式

想想拦截器,一层层的拦截就是责任链模式。

设计模式(25)-----创建型模式-----原型模式

就是clone

设计模式(26)-----创建型模式-----建造者模式

就是把创建复杂的对象简单化

设计模式(27)-----结构型模式-----过滤器模式

通过过滤器可以吧想要的信息过来过阿里,就是一个过滤器而已。

设计模式(28)-----结构型模式-----享元模式

减少创建对象的数目,它和单例不一样的地方就是无论如何,内存中就一个对象这事单例,一个对象假如根据某个属性来判断是不是相同的话,可能调用了20次只创建了5个对象。

设计模式(29)-----行为型模式-----解释器设计模式

是不是?是或者不是

设计模式(30)-----行为型模式-----中介者设计模式

假如现在有100个对象,他们互相之间都有联系,通过中介模式让他们去掉联系,所有的联系都指向中介,这样会条理清晰许多。

设计模式(31)-----行为型模式-----备忘录设计模式

想想ctr+z,对以前操作的信息做一个保留,比如存到map中或者list中,想去找到以前操作的信息的话直接去取就行了

设计模式(32)-----行为型模式-----空对象设计模式

假如不为空到一个类中,假如为空到另一个类中,空和非空都实现相同的接口。但是相同的方法里面处理的逻辑不一样。

设计模式(33)-----行为型模式-----访问者设计模式

想想权限就行了,不同的访问者可以设置不同的方法

设计模式(34)-----结构型模式-----桥接设计模式

主要是两个层面的对象随机的组合。比如说男生,女生一个层面,结婚,单身另一个层面,两个层面可以随机的组合。

原文地址:https://www.cnblogs.com/qingruihappy/p/9928330.html

时间: 2024-10-15 05:01:13

设计模式(35)-----设计模式阶段性总结(一句话概括一个模式)的相关文章

设计模式--模版设计模式

模版设计模式的概念或者定义: 定义一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤. 以前虽然经常在项目中使用模版设计模式,特别在BaseActivity,BaseFragement,BaseFragementActivity,BaseAdapter这种基类定义一些延伸到子类中实现的方法,但是不知道这个就是模版设计模式,我就毙了狗了. 比如在Base类里面为了规范代码的风格,在oncreate()里面调用空的函数,比如initView(

java 的常用设计模式--大话设计模式

设计模式:一个程序员对设计模式的理解:“不懂”为什么要把很简单的东西搞得那么复杂.后来随着软件开发经验的增加才开始明白我所看到的“复杂”恰恰就是设计模式的精髓所在,我所理解的“简单”就是一把钥匙开一把锁的模式,目的仅仅是着眼于解决现在的问题,而设计模式的“复杂”就在于它是要构造一个“万能钥匙”,目的是提出一种对所有锁的开锁方案.在真正理解设计模式之前我一直在编写“简单”的代码.这个“简单”不是功能的简单,而是设计的简单.简单的设计意味着缺少灵活性,代码很钢硬,只在这个项目里有用,拿到其它的项目中

研磨设计模式解析及python代码实现——(二)外观模式(Facade)

一.外观模式定义 为子系统中的一组接口提供一个一致的界面,使得此子系统更加容易使用. 二.书中python代码实现 1 class AModuleApi: 2 def testA(self): 3 pass 4 class AModuleImpl(AModuleApi): 5 def testA(self): 6 print "Now Call testA in AModule!" 7 class BModuleApi: 8 def testB(self): 9 pass 10 cla

Java软件设计模式------装饰设计模式

Java软件设计模式一共分为23种; 一般常用的有: 单例设计模式 装饰设计模式 工厂设计模式 装饰设计模式 定义:英文叫Decorator Pattern,又叫装饰者模式.装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能.它是通过创建一个包装对象,也就是装饰来包裹真实的对象. 在生活中我们用程序员和项目经理的例子来比喻,项目经理是从程序员开始的,经过不断地积累工作经验.不断的学习新的知识,才有可能升职. 在装饰设计模式中项目经理就是程序员的增强. 程序猿: 写程序 项目

云计算设计模式(二十四)——仆人键模式

云计算设计模式(二十四)——仆人键模式 使用一个令牌或密钥,向客户提供受限制的直接访问特定的资源或服务,以便由应用程序代码卸载数据传输操作.这个模式是在使用云托管的存储系统或队列的应用中特别有用,并且可以最大限度地降低成本,最大限度地提高可扩展性和性能. 背景和问题 客户端程序和网络浏览器经常需要读取和写入文件或数据流,并从一个应用程序的存储空间.通常,应用程序将处理的运动数据,或者通过从存储读取它,并将其传输到客户端,或通过从客户机读取该载流并将其存储在数据存储中.然而,这种方法吸收了宝贵的资

云计算设计模式(十五)——管道和过滤器模式

云计算设计模式(十五)——管道和过滤器模式 分解,执行复杂处理成一系列可重复使用分立元件的一个任务.这种模式可以允许执行的处理进行部署和独立缩放任务元素提高性能,可扩展性和可重用性. 背景和问题 一个应用程序可能需要执行各种关于它处理的信息不同复杂的任务.一个简单,但不灵活的方式来实施这个应用程序可以执行此处理为单一模块.然而,这种方法有可能减少用于重构代码,对其进行优化,或者重新使用它,如果是在应用程序中其他地方所需要的相同的处理的部件的机会. 图1通过使用单片式的方式示出了与处理数据的问题.

22种代码的坏味道,一句话概括

22种代码的坏味道,一句话概括: 假设一段代码是不稳定或者有一些潜在问题的,那么代码往往会包括一些明显的痕迹. 正如食物要腐坏之前,常常会发出一些异味一样. 我们管这些痕迹叫做"代码异味". 參考资料: http://blog.csdn.net/sulliy/article/details/6635596 http://sourcemaking.com/refactoring/bad-smells-in-code Code smells Duplicated Code --------

设计模式18:Observer 观察者模式(行为型模式)

Observer 观察者模式(行为型模式) 动机(Motivation) 在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系”——一个对象(目标对象)的状态发生改变,所有依赖对象(观察者对象)都将得到通知.如果这样的以来对象关系过于紧密,将使软件不能很好地抵御变化. 使用面向对象技术,可以将这种依赖关系弱化,并形成一种稳定的依赖关系.从而实现软件体系结构的松耦合. 意图(Intent) 定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更

云计算设计模式(二十)——调度程序代理管理者模式

云计算设计模式(二十)——调度程序代理管理者模式 协调一系列在分布式服务集和其他远程资源的的行为,试图透明地处理故障,如果这些操作失败,或撤销,如果系统不能从故障中恢复执行工作的影响.这种模式可以分布式系统中增加弹性和灵活性,使之恢复和重试失败是由于短暂的异常,持久的故障和处理故障等操作. 背景和问题 应用程序执行其包括多个步骤,其中的一些可以调用远程服务或访问远程资源的任务.各个步骤可以是相互独立的,但它们是由实现该任务的应用程序逻辑编排. 只要有可能,应用程序应该确保任务运行完成和解决远程访