设计模式
文章平均质量分 78
hughtw
这个作者很懒,什么都没留下…
展开
-
设计模式六大原则
1. 单一职责原则:对于一个类,应该仅有一个引起它变化的原因。 问题由来:一个类有两个不同的职责P1 P2.当由于P1需求改变发生变化时,可能导致P2出现功能故障。 解决方案,分别建立两个类T1 T2实现P1 P2 的职责 所谓职责扩散,就是因为某种原因,职责P被分化为粒度更细的职责P1和P2。 优点: 1. 降低类的复杂度 2. 提高类的可读性,提高系统的可维护性原创 2015-03-19 16:32:05 · 351 阅读 · 0 评论 -
2 策略模式
策略模式:他定义了算法家族,分别封装亲爱,让他们之间可以互相替换,次模式让算法的变化,不会影响到使用算法的客户。 Strategy类:定义定义所有支持的算法的公共接口 ConcreteA(BC):具体的策略类,封装了具体的算法或行为 Context:上下文用一个ConcreteStrategy来维护一个Strategy对象的引用 public cla原创 2015-03-19 15:38:44 · 414 阅读 · 0 评论 -
21 单例模式
21 单例模式 21.1 概念 单例模式保证一个类仅有一个实例,并提供一个它的全局访问点。 通常我们可以让一个全局变量使得一个对象被访问,但它不能防止实例化多个对象,一个最好的方法是,让类自身负责保存他的唯一实例。这个类可以保证没有其他实例被创建,并且他可以提供一个访问该实例的方法。 Singleton类提供一个getInstance方法允许客户访问他的原创 2015-03-19 20:29:32 · 367 阅读 · 0 评论 -
20 迭代器模式
20 迭代器模式 概念:提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示 适用场景 一个聚集对象不管是什么都需要遍历的时候 或者对聚集有多种方式遍历时 作用 迭代器模式就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以做到不暴露集合的内部结构,又可让外部代码透明的访问集合内部的数据。原创 2015-03-19 20:26:33 · 289 阅读 · 0 评论 -
22 桥接模式
22 桥接模式 概念: 将抽象部分与实现部分分离,使它们都可以独立的变化。 理解桥接模式,重点需要理解如何将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化。 抽象化:就是把不同的实体当做同样的实体对待。把类的共同性质抽取出来形成类的过程即为抽象化 实现化:针对抽象化给出的具体实现 脱耦:将抽象原创 2015-03-19 20:30:51 · 625 阅读 · 0 评论 -
14 观察者模式
14 观察者模式 14.1 概念:观察者模式又称发布-订阅模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己。 14.2 模式中的角色 抽象主题(Subject):它把所有观察者对象的引用保存到一个聚集里,每个主题都可以有任何数量的观察者。抽象主题提供一个接口,可原创 2015-03-19 20:23:33 · 339 阅读 · 0 评论 -
17 适配器模式
1. 概述 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。 2. 解决的问题 即Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。 3. 角色 3.1 目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接原创 2015-03-19 20:25:32 · 379 阅读 · 0 评论