会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
talentzemin
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
23
24
25
26
27
28
29
30
31
···
46
下一页
2018年11月5日
设计模式(15)迭代器模式
摘要: 模式介绍 迭代器模式提供了一种访问底层表示中的对象的方法,而不会暴露对表示本身的访问。 示例 我们以果冻豆为例进行建模 聚合接口和具体的聚合实现: 迭代器接口和具体的迭代器实现: 客户端调用: 总结 迭代器模式提供了一种方式,我们可以在不暴露集合本身的情况下访问和操作集合中的对象。如果你使用了LIN
阅读全文
posted @ 2018-11-05 10:46 talentzemin
阅读(161)
评论(0)
推荐(0)
2018年11月2日
设计模式(14)命令模式
摘要: 模式介绍 命令模式将请求封装为对象,从而允许开发人员根据接收到该命令的类来不同地对待该请求。此外,它能够实现更复杂的体系结构,甚至可以实现诸如撤销/重做之类的操作。 责任链模式非常适合命令模式,因为前者可以使用后者的对象来表示其请求。 示例 我们将建模一个系统,在该系统中,我们可以在快餐店创建订单,
阅读全文
posted @ 2018-11-02 10:01 talentzemin
阅读(137)
评论(0)
推荐(0)
2018年11月1日
设计模式(13)责任链模式
摘要: 模式介绍 责任链设计模式试图通过给不止一个对象处理特定请求的机会,来避免将请求耦合到特定接收器。 本质上,我们沿着该对象的潜在处理程序的“链”传递对象,直到其中一个处理程序处理请求。 示例 我们还是以餐馆建模。 想一下,当厨房需要采购新设备,厨师长需要像Boss请示。 我们的店里的采购流程是这样的:
阅读全文
posted @ 2018-11-01 10:07 talentzemin
阅读(158)
评论(0)
推荐(0)
2018年10月31日
设计模式(12)代理模式
摘要: 模式介绍 代理模式提供代理或占位符对象来控制对另一个不同对象的访问。代理对象可以以与包含对象的方式相同的方式使用。 示例 我们再次以高端餐馆的服务员来建模,服务员需要做三件事情: 1. 取单 2. 下单 3. 结账 抽象的服务员接口: 服务员类: 现在想象一下,我们的服务员实例是一个有经验的服务员,
阅读全文
posted @ 2018-10-31 15:58 talentzemin
阅读(102)
评论(0)
推荐(0)
2018年10月30日
设计模式(11)享元模式
摘要: 模式介绍 享元模式用于创建许多小的、相关的对象,而无需为此调用大量开销工作,从而提高性能和可维护性。 享元模式允许对象的许多实例共享它们的内在状态,从而减少与创建它们相关的成本。 示例 我们以Slider(一种类似汉堡的食物)为例。 抽象的享元类 具体的享元类 工厂类,实例具体的享元类 客户端调用
阅读全文
posted @ 2018-10-30 14:00 talentzemin
阅读(156)
评论(0)
推荐(0)
2018年10月26日
设计模式(10)外观模式
摘要: 模式介绍 外观模式的思想是隐藏系统的复杂性。 示例 假设餐馆的厨房分为三部分,分别放置冷热食物和饮料的区域。但是你作为顾客的话,并不关心这些。然而服务员知道这些。 顾客 声明厨房区域的接口、订单类 厨房的三个区域 服务员 客户端调用 可以看出,顾客之和服务员进行了交互。 总结 外观模式是复杂系统上的
阅读全文
posted @ 2018-10-26 14:45 talentzemin
阅读(162)
评论(0)
推荐(0)
2018年10月25日
设计模式(9)装饰器模式
摘要: 模式介绍 装饰器模式试图向现有对象添加新的功能,而不改变该对象的定义。 换句话说,它希望向对象的单个实例添加新的职责,而不向对象类添加这些职责。 示例 想象一下,我们在一个farm to table餐馆。这个餐馆只售卖来自农场种植的蔬菜。但是有的时候,某种蔬菜暂时没有了,我们需要通知用户。 我们来模
阅读全文
posted @ 2018-10-25 10:08 talentzemin
阅读(135)
评论(0)
推荐(0)
2018年10月24日
设计模式(8)组合模式
摘要: 模式介绍 组合模式使得用户对单个对象和组合对象的使用具有一致性。 示例 我们使用一个汽水售卖机进行建模,这玩意会先让你选择品牌(可乐、芬达、雪碧),然后让你选择口味(樱桃味、香草味)。 定义饮料类 创建不同口味的不同饮料,可乐(2)、生啤(2)、柠檬汁(1) 组合类 组合类,根节点 客户端调用: 总
阅读全文
posted @ 2018-10-24 11:38 talentzemin
阅读(128)
评论(0)
推荐(0)
2018年10月23日
设计模式(7)桥接模式
摘要: 模式介绍 桥接模式试图将抽象与它的实现解耦,使得两者可以独立地变化。 示例 现实中,我哥有某种疾病,所以不能吃包含谷类麦类的食物。 我们以此为例,构建一个从不同餐馆购买特供的食物。 如果我们还想知道食物是哪家餐馆的,那就会这么写: 我们建模两个正交属性,就需要3个接口和6个类,有些过分了。 这个时候
阅读全文
posted @ 2018-10-23 11:12 talentzemin
阅读(145)
评论(0)
推荐(0)
2018年10月22日
设计模式(6)适配器模式
摘要: 模式介绍 适配器模式用于协调两个不兼容的接口之间的差异。 当用于无法重构的接口时(例如,当接口由Web服务或API控制时),此模式特别有用。 示例 假设我们在维护肉类安全烹饪温度数据库,旧的系统是这样维护的: 可以看到,这个遗留系统没有使用面向对象模式开发,上面的那些数据应该是Meat类的属性。 我
阅读全文
posted @ 2018-10-22 09:58 talentzemin
阅读(212)
评论(0)
推荐(0)
上一页
1
···
23
24
25
26
27
28
29
30
31
···
46
下一页
公告