随笔分类 -  设计模式

摘要:转载自:http://www.cnblogs.com/jaredlam/archive/2011/11/08/2241089.html 学习AOP时,教材上面都说使用的是动态代理,可是在印象中代理模式一直都是控制访问什么的,怎么又动态增加行为了,动态增加行为不是装饰器模式吗?于是 找了很多资料,想弄 阅读全文
posted @ 2019-07-14 21:09 twoheads 阅读(1758) 评论(1) 推荐(0) 编辑
摘要:1、初步认识 观察者模式的定义: 在对象之间定义了一对多的依赖,当一个对象改变状态,依赖它的对象会收到通知并自动更新。 大白话: 其实就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息。 介绍 意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 阅读全文
posted @ 2019-04-14 21:20 twoheads 阅读(301) 评论(0) 推荐(0) 编辑
摘要:工厂方法模式通过引入工厂等级结构,解决了简单工厂模式中工厂类职责太重的问题,但由于工厂方法模式中的每个工厂只生产一类产品,可能会导致系统中存在大量的工厂类,势必会增加系统的开销。此时,我们可以考虑将一些相关的产品组成一个“产品族”,由同一个工厂来统一生产,这就是我们本文将要学习的抽象工厂模式的基本思 阅读全文
posted @ 2018-09-30 14:09 twoheads 阅读(248) 评论(0) 推荐(0) 编辑
摘要:简单工厂模式虽然简单,但存在一个很严重的问题。当系统中需要引入新产品时,由于静态工厂方法通过所传入参数的不同来创建不同的产品,这必定要修改工厂类的源代码,将违背“开闭原则”,如何实现增加新产品而不影响已有代码?工厂方法模式应运而生,本文将介绍第二种工厂模式——工厂方法模式。 1 日志记录器的设计 S 阅读全文
posted @ 2018-09-30 10:39 twoheads 阅读(202) 评论(0) 推荐(0) 编辑
摘要:工厂模式是最常用的一类创建型设计模式,通常我们所说的工厂模式是指工厂方法模式,它也是使用频率最高的工厂模式。本章将要学习的简单工厂模式是工厂方法模式的“小弟”,它不属于GoF 23种设计模式,但在软件开发中应用也较为频繁,通常将它作为学习其他工厂模式的入门。此外,工厂方法模式还有一位“大哥”——抽象 阅读全文
posted @ 2018-09-29 17:24 twoheads 阅读(286) 评论(0) 推荐(0) 编辑
摘要:spring中用到了哪些设计模式?(顺丰) spring中常用的设计模式达到九种,我们举例说明: 第一种:简单工厂又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一。 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。 s 阅读全文
posted @ 2018-09-28 18:05 twoheads 阅读(8564) 评论(0) 推荐(0) 编辑
摘要:比较简单,主要用到clone() 大同小异的工作周报 Sunny软件公司一直使用自行开发的一套OA (Office Automatic,办公自动化)系统进行日常工作办理,但在使用过程中,越来越多的人对工作周报的创建和编写模块产生了抱怨。追其原因,Sunny软件公司的OA管理员发现,由于某些岗位每周工 阅读全文
posted @ 2018-09-21 11:36 twoheads 阅读(194) 评论(0) 推荐(0) 编辑
摘要:恢复内容开始 意图:避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。 主要解决:职责链上的处理者负责处理请求,客户只需要将请求发送到职责链上即可,无须关心请求的处理细节和请求的传递,所以职责链将请求的发送者和请求的处 阅读全文
posted @ 2018-09-20 16:28 twoheads 阅读(549) 评论(0) 推荐(0) 编辑
摘要:意图:将对象组合成树形结构以表示"部分-整体"的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 主要解决:它在我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以向处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。 何时使用: 1、您想表示对象 阅读全文
posted @ 2018-09-20 14:34 twoheads 阅读(347) 评论(0) 推荐(0) 编辑
摘要:处理多维度变化 在正式介绍桥接模式之前,我先跟大家谈谈两种常见文具的区别,它们是毛笔和蜡笔。假如我们需要大中小3种型号的画笔,能够绘制12种不同的颜色,如果使用蜡笔,需要准备3×12 = 36支,但如果使用毛笔的话,只需要提供3种型号的毛笔,外加12个颜料盒即可,涉及到的对象个数仅为 3 + 12 阅读全文
posted @ 2018-09-19 17:06 twoheads 阅读(2464) 评论(0) 推荐(0) 编辑
摘要:装修新房的最后几道工序之一是安装插座和开关,通过开关可以控制一些电器的打开和关闭,例如电灯或者排气扇。在购买开关时,我们并不知道它将来到底用于控制什么电器,也就是说,开关与电灯、排气扇并无直接关系,一个开关在安装之后可能用来控制电灯,也可能用来控制排气扇或者其他电器设备。开关与电器之间通过电线建立连 阅读全文
posted @ 2018-09-19 15:10 twoheads 阅读(257) 评论(0) 推荐(0) 编辑
摘要:外观模式(Facade Pattern)向客户端提供了一个客户端可以访问系统的接口,隐藏系统的复杂性 医院的例子 现代的软件系统都是比较复杂的,设计师处理复杂系统的一个常见方法便是将其“分而治之”,把一个系统划分为几个较小的子系统。如果把医院作为一个子系统,按照部门职能,这个系统可以划分为挂号、门诊 阅读全文
posted @ 2018-09-18 17:37 twoheads 阅读(347) 评论(0) 推荐(0) 编辑
摘要:创建型: 2 个 (工厂模式, 单例模式) 结构型: 6 个 (适配器模式, 组合模式, 装饰者模式, 代理模式, 外观模式, 桥梁模式) 行为型: 8 个 (中介者模式, 策略模式, 模板模式, 观察者模式, 迭代器模式, 责任链模式, 命令模式, 状态模式) 1.1创建型模式 能够高效地创建对象 阅读全文
posted @ 2018-09-18 17:06 twoheads 阅读(191) 评论(0) 推荐(0) 编辑
摘要:装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。 这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。 意图:动态地给一个对象添加一些额外的 阅读全文
posted @ 2018-09-18 16:33 twoheads 阅读(322) 评论(0) 推荐(0) 编辑
摘要:2.适配器模式分类 有三种分类: 类适配器 (通过引用适配者进行组合实现) 对象适配器(通过继承适配者进行实现) 接口适配器 (通过抽象类来实现适配) 前二者在实现上有些许区别,作用一样,第三个接口适配器差别较大。 3.适配器的实例讲解 (1)类适配器模式 原理:通过继承来实现适配器功能。 当我们要 阅读全文
posted @ 2018-09-17 17:59 twoheads 阅读(188) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示