标签:设计模式

设计模式

Java设计模式——迭代器模式

定义 提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。 实现 迭代器角色(Iterator):定义遍历元素所需要的方法,一般来说会有这么三个方法:取得下一个元素的方法next(),判断是否遍历结束的方法hasNext()),移出当前对象的方法remove(), 具体迭代器角色(Concrete ...

yan 2017 年 7 月 31 日 259℃ 0评论 1喜欢

设计模式

Java设计模式——责任链模式

定义 将接收者对象连接成一条链,并在该链上传递请求,直到有一个接收者对象处理它。通过让更多对象有机会处理请求,避免了请求发送者和接收者之间的耦合。 作用 请求 ===> 第一个处理者 ===> 第二个处理者 … ===> 第n个处理者 比如:公司的层次结构,CEO、经理、运营员 的权限不同...

yan 2017 年 7 月 30 日 305℃ 0评论 1喜欢

设计模式

Java设计模式——模板方法模式

定义 一个操作中的算法的骨架,而将步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义算法的某些特定步骤。 作用 抽象类A(算法骨架) 《==实现===  具体类B(实现抽象方法) 比如:银行中办理业务,不管什么业务流程都是相同的:领号排队、填写单据、等待叫好、办理业务。但是某一步 比如填写单据,根据办...

yan 2017 年 7 月 29 日 240℃ 0评论 0喜欢

设计模式

Java设计模式——策略模式

定义 将可变的部分从程序中抽象分离成算法接口,在该接口下分别封装一系列算法实现,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化。 功能 分离、抽象出不变的部分形成接口,将算法的实现分别封装,这样会使客户端不受算法改变而受到影响。 如:结算购物车时,付款提供商(接口)==实现==》招商银行、建设银行……等很...

yan 2017 年 7 月 28 日 165℃ 0评论 0喜欢

设计模式

Java设计模式——观察者模式

动机 建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应做出反应。这就是观察者模式的模式动机。 定义 对象间的一种一对多的依赖关系。当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 作用 订阅、发布 发生改变的对象称为观察目标,而被通知的对象称为观察者,一个观察...

yan 2017 年 7 月 27 日 322℃ 0评论 0喜欢

设计模式

Java设计模式——命令模式

动机 在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只需在程序运行时指定具体的请求接收者即可,此时,可以使用命令模式来进行设计,使得请求发送者与请求接收者消除彼此之间的耦合,让对象之间的调用关系更加灵活。 定义 将一个请求封装为一个对象,从而使我们可用不同的...

yan 2017 年 7 月 26 日 288℃ 0评论 0喜欢

设计模式

Java设计模式——代理模式

定义 为被代理对象提供一种代理,来控制对该对象的访问。(通过引入代理对象来间接访问一个对象) 中介作用,起到隐藏功能或增加功能的效果。 作用 被代理类A  ==方法增强==> 代理类B (增强方法,保护真实类) 比如:火车站售票处(卖票和退票的功能) ==代理类==> 火车站代售处(卖票功能) 分类 远程代...

yan 2017 年 6 月 25 日 323℃ 0评论 0喜欢

设计模式

Java设计模式——外观模式(门面模式)

动机 适配器模式是为了将一个类的接口转换成另一个符合用户期望的接口。现在想改变成一个新的接口,目的是简化接口,用一个统一的接口来访问子系统中的一群接口,这就是外观模式(门面模式)的动机,将一切复杂的都隐藏在背后,只显露出一个干净美好的外观。 定义 外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接...

yan 2017 年 5 月 24 日 192℃ 0评论 1喜欢

设计模式

Java设计模式——装饰模式

动机 对客户透明的方式动态地给一个对象附加上更多的责任(行为),换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。这就是装饰模式的模式动机。 定义 动态地给一个对象增加一些额外的职责(Responsibility),就增加对象功能来说,装饰模式比生成子类实现更为灵活。 功能 装饰模式可以在不需要创造更多子类的情况...

yan 2017 年 4 月 23 日 219℃ 0评论 0喜欢

设计模式

Java设计模式——桥接模式

动机 有圆形、矩形2个形状,还有红色、绿色2个颜色。如果想实现不同形状和不同颜色的组合,我们有两种方案:第一种,为每一种形状的每一种颜色设计一个类,问题冗余,类过多;第二种,根据实际的需要,对形状和颜色进行组合。 第二种方案就是最佳方案,在多维度影响因素下,将他们分离,也就是桥接模式的动机。将继承关系转化为关联关系,从...

yan 2017 年 3 月 22 日 135℃ 1评论 0喜欢