首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
thekingisalwayslucky
掘友等级
java
|
ifugle
难走的,通常是上坡路
获得徽章 4
动态
文章
专栏
沸点
收藏集
关注
作品
赞
6
文章 2
沸点 4
赞
6
返回
|
搜索文章
最新
热门
设计模式(二十三)中介者模式
有很多孤立的人这里是3个,如果有100个,是不是图很复杂,那在程序中表示出来就很难。明显用右图很明了。 中介者模式就是简化这种关系的模式,有两个角色:关系成员、中介者。我一般喜欢从语法上分析: 中介者:包含每一个关系成员,要处理所有的关系,就要包含是所有的成员。只有一个方法 具…
设计模式(二十二)访问者模式
访问者模式是23种设计模式中最复杂的一个,使用频率并不高。大多数情况下,并不需要访问者模式,但一旦需要使用它时,那就真的是需要它了。 封装一些作用于某种数据结构中的各元素的操作,它可以在不改变这个数据结构的前提下,定义作用于这些元素的新操作。 对象结构比较稳定,但是经常需要在此…
设计模式(二十一)状态模式
考虑一个在线投票的应用,要实现控制同一个用户只能投一票,如果一个用户反复投票,而且投票次数超过5次,则判定为恶意刷票,要取消该用户投票的资格,当然同时也要取消他所投的票。如果一个用户的投票次数超过8次,将进入黑名单,禁止再登录和使用系统。 析上面的功能,为了控制用户投票,需要记…
设计模式(二十)备忘录模式
备忘录模式(Memento Pattern):在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。它是一种对象行为型模式,其别名为Token。 Originator(原发器):它是一个普通类,可以创建一个备忘录,并…
设计模式(十九)命令模式
命令模式的定义:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。 我们来看这么一个例子:我们去一家烧烤店吃饭。我们会向服务员点烧烤,服务员会拿笔记本记录我们点的菜品,然后去后厨告诉厨师要烤哪些东西。期间我们还可能…
设计模式(十八)责任链模式
责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配…
设计模式(十七)迭代器模式
迭代器模式(Iterator Pattern):提供一种方法来访问聚合对象,而不用暴露这个对象的内部表示,其别名为游标(Cursor)。迭代器模式是一种对象行为型模式。 Iterator(抽象迭代器):它定义了访问和遍历元素的接口,声明了用于遍历数据元素的方法,例如:用于获取第…
设计模式(十六)观察者模式
在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。 其实就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息。 抽象被观察者角色:也就是一个抽象主题,它把所有对观察者对象的引用保存在一个集合中,每个…
设计模式(十五)模板模式
在生活中有些事情的流程是一致的,只是其中的某些步骤不一致,这就是一个模板,比如银行办理业务. 填写单据这一步骤就是不同的地方. 项目中的模板方法模式:一个抽象类中,有一个主方法,在定义多个方法,可以是抽象的,也可以是实际的方法,定义一个类,继承该抽象类,重写抽象方法,不同子类的…
设计模式(十四)策略模式
在平常的开发过程中经常遇到这样的情况:实现一个功能可以有多种算法或者策略,我们根据实际情况选择不同的算法或策略来完成该功能。例如,排序算法有插入排序,归并排序、冒泡排序。 定义:策略模式定义了一系列算法,并将每一个算法封装起来,而且它们还可以相互替换。策略模式让算法独立于使用它…
下一页
个人成就
文章被点赞
274
文章被阅读
118,033
掘力值
3,266
关注了
22
关注者
187
收藏集
0
关注标签
18
加入于
2019-01-24