自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

先度过菜鸟阶段

Anything can happen if I don't leave

  • 博客(6)
  • 资源 (1)
  • 问答 (9)
  • 收藏
  • 关注

原创 迭代器模式

迭代器模式(Iterator):提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示多个对象聚在一起形成的总体称之为聚集(Aggregate),聚集对象是能够包容一组对象的容器对象。一个聚集对象,不管对象 是什么都需要遍历的时候,考虑使用迭代器模式。迭代器模式(Iterator)结构图Iterator迭代器抽象类package iterator;/** * @author ...

2018-04-22 22:02:20 840

原创 组合模式

场景:公司最近接了一个项目,为一家大公司做一个工作管理系统,类似于常见的OA系统,单从需求分析的话,不难开发。但是考虑到大公司希望在所有分公司推广使用,如果采用简单复制同一套代码,效果不如人意,总公司和分公司是成树状结构,也就是有组织结构的,不能是简单的平行管理。有些功能只能总公司使用,而部分功能总公司和分公司可以共同使用,比如人力资源部之类的。这就涉及到整体与部分的关系—整体和部分可以被一致对待...

2018-04-22 20:30:14 147

原创 备忘录模式

场景:假设在一个游戏中,用户为了进入更高的关卡而挑战boss,结果挑战失败,但用户如果重头再来,必然影响游戏体验,于是便有了“游戏存储进度”。存储进度的功能设计成重新抛出一个挑战boss之前的角色,进度是停留在一定的关卡上的。在“游戏存储进度”功能的实现上是复杂的:要做到不允许别人访问我的代码,只可以拿到数据因此可以将“游戏存储进度”联想成一个备忘录,游戏过程中通过访问“游戏存储进度”(备忘录)来...

2018-04-21 22:29:04 433

原创 抽象工厂模式

场景问题       假设一个网站的数据来源于数据库SQL Server,当网站进行维护时,增加或删除功能,在数据库做改动,相应的程序代码也必须改动,此时维护的工作量是很大的。再比如遇到要用到Oracle数据库,改动的地方更多。因此应该提供不同的数据库访问接口,通过组装来应对不同的需求变更。用工厂方法模式的数据访问Iuser接口: 用于客户端访问,解除与具体的数据库访问的解耦package fac...

2018-04-10 00:33:49 143

原创 状态模式

状态模式:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化状态模式的结构图如下:State类:抽象状态类,定义一个接口以封装与Context的一个特定状态相关的行为package state;/** * 抽象状态类 * @au...

2018-04-09 22:20:19 157

原创 适配器模式

大话设计模式里适配器模式的定义:将一个类的接口转换成客户希望的另外一个接口。 Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作适配器模式举例   “适配”一词最早出现在电工学中,一般家庭中用的都是220V电压,手机充电时要求5V电压,于是便有了电源适配器。这就是适配器本质所在,目的是使控制范围之外的一个原有对象与某个接口所匹配。适配器模式主要应用于希望复用一些现存的类,但...

2018-04-08 23:19:28 692

Struts2权威指南 带索引

带有目录索引 有需要的可以下载

2016-10-26

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除