- 博客(15)
- 资源 (4)
- 收藏
- 关注
原创 设计模式——12 状态模式
12 State Pattern(状态模式) 前言:改变对象内部的状态来帮助对象控制自己的行为。需求: Vander的万能科技公司开发了一款自动售卖机,主要是为了节省人力成本,自动售卖机能自制橙汁,只需要投入10块,你就能获得一杯鲜榨橙汁: 上图有四种状态,每一个动作(投入10元、按下退钱按钮、按下出售按钮,果汁出柜[自动售卖机的内部动作])...
2018-11-08 14:44:11
319
原创 设计模式——11 组合模式
11 CompositePattern(组合模式) 前言:帮助客户用同样的方法遍历不同的集合。需求: 上次Vander在Panda的帮助下,很好地解决了厨师们的菜单使用不同的集合,解决了不同集合的遍历问题,但是市场竞争真的太激烈了,Vande在九方购物广场的Vander奶茶店也迎来了经营问题,所以现在需要将奶茶店的菜单加入到烧烤菜单中,但是添加会有什么问...
2018-11-08 14:37:26
210
原创 设计模式——10 迭代器模式
10 Iterator Pattern(迭代器模式) 前言:帮助客户用同样的方法遍历不同的集合。需求: 由于海岸城的店租极具增长,Vander的Pizza店和烧烤店需要合并在一起了,合并在一起,这两家店的主厨A和主厨B,他们的菜单实现却不相同,Pizza店的菜单是使用List,而烧烤店的菜单用的却是数组,让我们先来看看他们菜单的实现。 ...
2018-11-08 14:29:41
218
原创 设计模式——09 模板方法模式
09 Template Method Pattern(模板方法模式) 前言:封装步骤的算法。Vander作为老板,凡是亲力亲为,他新开了家咖啡店,这是他招牌咖啡卡布奇诺的冲泡方法: 1、把水煮沸 2、用沸水冲泡咖啡 3、将咖啡倒入咖啡杯 4、加糖和奶Vander发现白天喝咖啡的人实在是不多,...
2018-11-08 14:22:01
226
原创 设计模式——08 外观模式
08 Facade Pattern(外观模式) 前言:让接口变得简单。例子说明: REQ1:还记得之前学习过的命令模式吗,后面提出了开启所有相关家电的命令,和关闭所有家电的命令,但是的目的就是为了可以一键进行一系列家电的操作,在这里也类似。 Vander之前刚完成了上个设计,赚了很多钱,现在它入手了一整套小米装备,有小米音响、小米空调、小米空气...
2018-11-08 11:39:03
170
原创 设计模式——07 适配器模式
07 Adapter Pattern(适配器模式) 前言:通过将类的接口转换成想要的接口,以便实现不用的接口。我们的程序可以用新的接口来封装旧的接口,而客户是无感知地调用新接口或者旧接口。例子说明: EXP1:港版的苹果手机,用过港版的一定知道,港版手机的充电器是三角粗头的,而大陆的插座则是细头的,这样需要使用港版的充电器的时候就需要有三转二的转接口,这...
2018-11-08 11:34:52
164
原创 设计模式——06 命令模式
06 Command Pattern(命令模式) 前言:封装调用,实现调用者和执行者的解耦。需求分析: REQ1:Vander的公司红红火火,接到的项目越来越多,还记得MS公司气象站项目吗, 没错这次又是他们找到了Vander,来请Vander设计一个创新控制器,这个控制器,或者可以说是遥控器,遥控器上有7个插槽(每个插槽对应一个家电,并且遥控器需要一个...
2018-11-08 11:29:15
220
原创 设计模式——05 单例模式
05 Singleton Pattern(单例模式)前言:单例模式是为了解决在程序中只能有一个的问题,例如在我们的程序中经常用到的线程池、缓存、对话框和注册表等对象,都只需要实例化一个,后面其他线程要用的时候都直接拿过来用即可。案例分析: REQ1:Vander接到这么个需求,就是要创建一个糖果工厂来制造糖果,在糖果工厂放入蔗糖原料前必须保证熔炉是空的,接着在熔炉中煮沸...
2018-11-08 11:22:29
173
原创 设计模式——04 工厂模式
前言:工厂模式是为了解决new的问题案例分析: REQ1:Vander作为pizza店的老板,具有一整套制作pizza的流程,准备食材、烘焙、切片、包装,随着pizza种类的渐渐增加,设计如下:public class PizzaStore { public Pizza pizza; public Pizza orderPizza(String type) ...
2018-11-08 11:17:38
204
原创 设计模式——03 装饰者模式
3 Decorator Pattern(装饰者模式)3.1设计原则一类应该对扩展开放,对修改关闭 前言:装饰者模式主要是为了解决继承滥用的问题,以下将使用对象组合的方式做到在运行时装饰类。1)案例分析一: REQ1:星巴克咖啡店咖啡种类扩展飞快,Vander作为其老板,准备尽快更新订单系统来满足这一发展。原先的设计如下:分析:随着饮品的发...
2018-11-08 11:03:10
269
原创 01-Java Web——JSP+Servlet+JavaBean开发模式
01-Java WebJSP+Servlet+JavaBean开发模式 前言:在Struts1出现之前曾经有这么一种开发模式风靡整个Java Web界,这就是JSP+Servlet+JavaBean的模式。分析:由Servlet来接收客户端发送过来的请求,Servlet中只包含控制逻辑和简单的前端处理;控制逻辑部分交给Java Bean来完成,其实这也是很有道理的,毕竟前期Java...
2018-06-25 23:39:33
1064
原创 设计模式——02 观察者模式
1 Observer Pattern(观察者模式)1.1设计原则一 为了交互对象的松耦合设计而努力 下面举个例子说明这个原则。1)案例分析一: REQ1:Vander接到一个外包的项目,项目是关于下一代Internet的气象观测站,此系统中三个部分是气象站(获取实际气象数据的物理装置),WeatherData对象(追踪来自气象站的数据,并更新布告板)...
2018-04-10 23:26:48
168
原创 设计模式——01 策略模式
1 Strategy Pattern(策略模式)1.1设计原则一 下面举个例子说明这个原则。1)案例分析一: REQ1:假设当前Vander要设计一款游戏,这个游戏里面有许许多多的鸭子,鸭子会呱呱叫,并且会游泳。解决方法1:Vander 就开始设计了,下面的UML图是他的设计: REQ2:需要让鸭子具有飞行的特性,并且不是所有的鸭子都是呱呱叫的,橡皮...
2018-04-10 23:11:53
197
原创 Maven入门实战(二)——依赖添加、依赖范围和SpringMVC的结合
上一节中我们介绍了Maven的作用以及相关的安装配置方法和一个非常简单的实例,接下来我们更近一步,为了加深对项目的影响,我们将结合SpringMVC进行Maven项目的实战。1 Maven的依赖添加 首先我们先创建一个Maven工程,创建方法同上一节中的方法,最后创建出来的工程目录结构如下: 发现又有错误了,首先这是一个Maven项目,必不可少的需要web.xml文
2018-01-29 22:48:23
1127
原创 Maven入门实战(一)——MVN的安装、配置、生命周期、简单入门实例和创建父/子工程
1 Maven简介 Maven是Apache旗下的一个开源项目,是纯Java开发的一个项目管理工具,并且只是用来管理Java项目的。1.1 Maven的好处 1)Maven项目占用容量小同样的一个项目,如果是用Maven构建的话,项目的大小要小得多。(这是由于Maven项目没有Jar包,或者说它将Jar包统一托管了)本地仓库一般起码有好几百M,随着你写的项目越来越多,本地仓库会越来越大。但是把Ja...
2018-01-06 14:25:31
607
02-observer-pattern
2018-04-10
01-strategy-pattern
2018-04-10
hello-world prj and shopping-center prj
2018-03-07
shopping-center-parent
2018-03-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人