![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Design Patterns
CarsonNiu
这个作者很懒,什么都没留下…
展开
-
设计模式-【策略模式】
【策略模式应用场景举例】 比如在玩“极品飞车”这款游戏,那么游戏对车的轮胎是可以更换的,不同的轮胎在高速转弯时有不同的痕迹样式,那么针对“汽车”的配件“轮胎”就要可以变化,而且轮胎和轮胎之间是可以相互替换的,这就是典型的要应用“策略模式”的场景!从程序结构中可以看到,完全符合了前面我们的要求:“灵活”,“顺序敏感”。 【策略模式解释】 类型:行为模式转载 2011-11-23 17:53:03 · 713 阅读 · 0 评论 -
设计模式-【模板方法模式】
【模板方法模式应用场景举例】 比如在玩“极品飞车”这款游戏,每辆车都有显示速度的仪表盘,但有可能A车显示的是蓝色的仪表盘,B车显示的是红色的仪表盘,分析中可以发现,他们都有车速度的值,但显示的方式不太一样。其实模板方法就是最典型的“继承”的使用,大家平时百分百都可以用到,只是不知道叫模板方法模式:)! 【模板方法模式解释】 类型:行为模式 模板方法模式定义一转载 2011-12-04 11:44:18 · 657 阅读 · 0 评论 -
设计模式-【工厂方法模式】
【工厂方法模式应用场景举例】 比如在玩“极品飞车”这款游戏,晕了吧,我喜欢极品飞车:),在玩这款游戏时,游戏者可以选择从不同品牌来选择赛车,那么这个“品牌”其实也就是工厂,每个工厂生产的赛车都不一样,这就是典型的工厂方法的应用场景。 【工厂方法模式解释】 类型:创建模式 定义一个用于创建对象的接口,让其子类来决定实例化哪一个类(产品),工厂方法使一个类的创建转载 2011-12-04 11:47:29 · 711 阅读 · 0 评论 -
设计模式-【建造者模式】
【建造者模式应用场景举例】 比如在玩“极品飞车”这款游戏,那么每一关的地图会千变万化,简单的来说,地图会有晴天和阴天之分,那么创建地图时就要根据晴天或者阴天来对地图上的场景,比如:天空,树,房子,和路面进行渲染,这个过程是一个固定的,每创建一个新地图都要执行这几个渲染,这是针对高级配置的电脑来说的。 现在拥有低配置电脑的人不在少数,那么他们就不能玩游戏了吗?完全可以!只要将地图转载 2011-12-04 11:41:19 · 808 阅读 · 0 评论 -
设计模式-【抽象工厂模式】
【抽象工厂模式应用场景举例】 写到抽象工厂模式了,我深知“抽象工厂模式”博文会带来一点点高潮,因为程序员对工厂模式中的“抽象工厂”都是比较感冒的,而且关注也很多,我就尽量用我所能理解的那么点程度来给大家介绍这个模式,如果有更好的比喻还请网友指正,先感谢了! 设计模式-快餐简解-【工厂方法模式】 介绍了工厂方法的使用,从那个程序中可以看到,奥迪audi车是从audi_car_f转载 2011-12-03 17:22:56 · 820 阅读 · 0 评论 -
设计模式-【观察者模式】
【观察者模式应用场景举例】 比如在玩“极品飞车”这款游戏,每一个车手到达终点的时候,都会在其它车手的屏幕上显示:某某人以多少时间到达终点的提示,其实这就是一个典型的观察者模式的应用,观察者模式即是典型的双向一对多的应用场景下用一的一端来通知多的一端。 【观察者模式解释】 类型:行为模式 定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个转载 2011-12-03 17:18:11 · 675 阅读 · 0 评论 -
设计模式-【外观模式】
【外观模式应用场景举例】 比如在玩“极品飞车”这款游戏,你只需要等待的就是倒计时到0时以最快的车速冲到第一名,但游戏者根本没有想过在车冲出去之前要做哪些工作,比如挂档,离合器,油箱检测,调整方向等等的微操作,将这些微操作封装起来变成一个接口就是外观模式了。在WEB开发中的MVC分层架构就是典型的一个外观模式,每一层将操作的具体内容隐藏起来,保留一个接口供上层调用。 【外转载 2011-11-29 20:14:26 · 624 阅读 · 0 评论 -
设计模式-【代理模式】
【代理模式应用场景举例】 比如在玩“极品飞车”这款游戏,如果游戏者手中的金钱达到了一定的数量就可以到车店买一部性能更高的赛车,那么这个卖车的“车店”就是一个典型的“汽车厂家”的“代理”,他为汽车厂家“提供卖车的服务”给有需求的人士。从面向对象的方面考虑,“销售汽车的代理”也是一个对象,那么这个对象也具有一定的状态,在软件项目中这个对象也具有管理财务进销存的基本功能,那么在设计时就要以转载 2011-11-29 20:11:39 · 1377 阅读 · 0 评论 -
设计模式-【装饰模式】
【装饰模式应用场景举例】 比如在玩“极品飞车”这款游戏,游戏中有对汽车进行喷涂鸦的功能,而且这个喷涂鸦是可以覆盖的,并且覆盖的顺序也影响到最后车身的显示效果,假设现在喷涂鸦具有2种样式:(1)红色火焰 (2)紫色霞光如果使用“继承父类”设计这样的功能,那么类图就像如下的这样: 从图中可以看到使用继承来实现这种功能,并且是2种涂鸦样式,就需要创建4个子类,如果转载 2011-11-23 17:57:49 · 882 阅读 · 0 评论 -
设计模式-【原型模式】
【原型模式应用场景举例】 比如在玩“极品飞车”这款游戏,每个游戏者都有自己的账号用来标识玩家,而每个玩家都可以拥有相同的车辆,这样每个玩家都拥有相同的车,比如你的领居有奥迪A6,你的老婆对你说,我也要开和邻居一样的奥迪A6,好了,现在你们家也有奥迪A6了,你们每天开着自己的车去上班,那么在这种情况下就可以应用原型模式了,原型模式很简单哟:)就是类的copy复制。 【原型模式解释转载 2011-12-04 11:49:04 · 731 阅读 · 0 评论