自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 设计模式—Factory Pattern

下面是点披萨系统中的一段代码: Pizza orderPizza(){ Pizza pizza = new Pizza(); pizza.prepare(); pizza.bake(); pizza.cut(); pizza.box(); return pizza; } 因为有许多种类型的披萨,所以我们要根据披萨的类型返回合适的披萨: Pizza orderPizza(Str

2017-04-04 20:06:04 263

原创 设计模式—Decorator Pattern

最近由于星巴克咖啡的快速扩张,要对其系统进行扩展,系统一开始是这样设计的: 现在除了点的咖啡,还可以在咖啡里加上佐料,比如steamed milk,soy,以及chocolate等等。以下是对新系统的第一次尝试: 从以上设计可以看出,因为每种咖啡都可以加上不同的佐料,各种排列组合会造成类的爆炸。以下是对新系统的第二次尝试: 以上的实现大致思路是这样的:在实例化某种咖啡

2017-04-04 09:12:09 220

原创 设计模式—Observer Pattern

在了解Observer Pattern 之前,先看看一个天气监控系统的设计:         在这个系统中包含三个部分:Weather Station(通过传感器实时获取数据),WeatherData 对象(跟踪Weather Station传输过来的    数据并且更新显示界面),Display device(显示当前有关天气数据)。         我们现在所要做的是设计一个app

2017-03-25 11:16:31 315

原创 设计模式之策略模式

在了解设计模式之前,我们先尝试设计一个小小的模拟养鸭子的app,实现此app的第一步也就是要造各种各样的鸭子。我们可以以这样的方式造鸭子: 以上我造了两种鸭子,两种鸭子所包含的行为一模一样,对于每种鸭子我都要分别具体实现quack(),swim(),display()方法。如果按照上面的方法造鸭子会造成代码得不到重用,结果导致大量的代码冗余。我们可以换一种方式造鸭子: 以上我抽

2017-03-22 21:49:18 187

空空如也

空空如也

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

TA关注的人

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