![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
_冰河
这个作者很懒,什么都没留下…
展开
-
设计模式—观察者模式
设计模式--观察者模式原创 2015-03-04 15:40:53 · 295 阅读 · 0 评论 -
设计模式——状态模式
和策略模式很像,都是把具体行为委托给其他类来完成,不同的是,在策略模式中,你要替换行为,需要指定,但是在状态模式里,内部自动会进行替换,你都无法察觉。 怎么做到的,Context(上下文是一个类,拥有一些内部状态)因为它在委其他类完成任务后,会转换上下文的状态。 概念:上下文,自己的理解,本身是一个类,但是拥有其他的对象引用,就像一个大锅,什么都往里装。不同的情景下,装的东西不一样。 定原创 2015-03-09 17:37:22 · 293 阅读 · 0 评论 -
设计模式——迭代器和组合模式
想象一个场景,有两个对象(称为聚合对象),一个对象的存储方式是ArrayList,另一个对象存储方式是数组。你是客户端,想遍历这两种数据结构。方案一:分别针对这两种写遍历方法,但是这样代码会变的相当冗余。而方案二:就是迭代器,使用统一的接口来处理不同的集合,并且隐藏了具体的存储方式。就想一个小区里住了很多户人家,要找他们,从前你要到他们家,但是后来小区请了门卫,有门卫来帮你联系。 另外做为迭代器原创 2015-03-09 16:59:07 · 365 阅读 · 0 评论 -
设计模式——代理模式
作用是:控制和管理访问 代理对象,自己理解,就相当于代理人职务,要访问真正的名人(对象)之前要先进过代理人这一层,代理人可以决定你有多少权限程度访问名人(访问对象方法的数量)。代理模式:远程代理,虚拟代理,动态代理。 远程代理模式:运用RMI(远程方法调用)的方式来实现,先看定义:为另一个对象提供一个替身或占位符以控制对这个对象的访问。 直接看代码吧客户端和系统都要有同原创 2015-03-10 11:03:28 · 292 阅读 · 0 评论 -
设计模式——模板方法
想象一下这样场景,一条工作流水线上,要对产品进行多道加工,有些部分有机器来加工,而有些是用人来加工,但是不同人根据自己的特点来做。这就是模板方法的模型。父类定义了模板方法,但是某些步骤由子类来完成。 在来看下定义:模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 "挂钩",某些步骤可以做也可以原创 2015-03-09 10:08:58 · 295 阅读 · 0 评论 -
设计模式——适配器模式和外观模式
设计模式——适配器模式和外观模式原创 2015-03-06 16:10:50 · 501 阅读 · 0 评论 -
设计模式——命令模式
设计模式——命令模式原创 2015-03-06 10:36:25 · 272 阅读 · 0 评论 -
设计模式——单件模式
设计模式——单件模式原创 2015-03-05 16:37:45 · 243 阅读 · 0 评论 -
设计模式——工厂模式
设计模式——工厂模式原创 2015-03-05 16:25:28 · 349 阅读 · 0 评论 -
设计模式—装饰模式
设计模式—装饰模式原创 2015-03-05 10:47:11 · 336 阅读 · 0 评论 -
设计模式--策略模式
设计模式--策略模式原创 2015-03-04 12:13:56 · 311 阅读 · 0 评论 -
设计模式——模板方法
想象一下,流水线,产品按顺序被加工,但是某些部分是用机器加工的,也就是固定的,也有一些是有人来负责的,可能不同的人有不同的加工方式,结果可能也有些不同。类比于模板方法,流水线可以认为是模板方法,每一处的加工步骤就可以理解为一个方法,机器那部分理解为定义好的方法,而人理解为子类,具体步骤有子类决定。 在看定义:模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子原创 2015-07-31 16:23:17 · 262 阅读 · 0 评论