简单说吧,该模式就只有两种角色,观察者对象(主题)和被观察者对象(观察者)。主题接收被观察者,有更新就通知被观察者。根据依赖倒转原则高内聚低耦合的目标,我们分别对此增加两个抽象接口。
概念:
观察者模式(Observer),又称发布\订阅模式(Publish\Subscribe)。它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有...
分类:
其他好文 时间:
2015-07-29 19:26:01
阅读次数:
135
1 //抽象接口 2 class ReplaceAlgorithm 3 { 4 public: 5 virtual void Replace() = 0; 6 }; 7 //三种具体的替换算法 8 class LRU_ReplaceAlgorithm : pub...
分类:
其他好文 时间:
2015-07-29 12:05:15
阅读次数:
99
iOS设计模式 - 桥接示意图说明1. 桥接模式为把抽象层次结构从实现中分离出来,使其可以独立变更,抽象层定义了供客户端使用的上层抽象接口,实现层次结构定义了供抽象层次使用的底层接口,实现类的引用被封装于抽象层的实例中,桥接就形成了.2. 桥接模式可以解决具有功能类似但又不完全相同的某种功能架构,为...
分类:
移动开发 时间:
2015-07-27 22:37:05
阅读次数:
265
由于自己以前也困于抽象、接口等吓人的东西,网上有缺乏在项目中实战运用的讲解,下面我就斗胆把自己的理解和大家交流一下下。
接口回调的条件就是一个接口,两个类,两个类之间互相操作,它符合JAVA设计模式六大原则之依赖倒置原则。 关于设计模式的六大原则可参考我的上篇博客:http://blog.csdn.net/gaolei1201/article/details/47082783。关于接口回调的详细内容可以参考:http://www.2cto.com/kf/201412/365788.html...
分类:
移动开发 时间:
2015-07-27 19:09:31
阅读次数:
145
在Java编程语言中,嵌套了很多设计模式的思想,例如IO流中的缓冲流就使用到下面要介绍的装饰者设计模式。
示例代码:
* 抽象构件角色:定义一个抽象接口,来规范准备附加功能的类
* @author Admin
*
*/
public interface Drink { //被装饰者的基类
public String description();
pu...
分类:
编程语言 时间:
2015-07-26 20:54:57
阅读次数:
161
外观模式外观设计模式和适配器差不多,不过它门对对象控制的粒度不同,适配器一般只是控制一个系统和客户端的对接。外观则是用来抽象多个系统一起工作。外观一般具有多个子系统,所以外观应持有多个子系统的引用,同构向高层提供抽象接口实现封装。外观一般是可以多次使用的,比如一个庞大的系统中,可以多次使用外观来进行...
分类:
其他好文 时间:
2015-07-26 12:33:52
阅读次数:
133
为什么要有接口?接口就是一个程序与其它程序交流的窗口。就比如有一个电视机,我并不需要知道它是怎样工作的,我只要知道按电源键就可以开启电视,按节目加(+)减(-)可以切换电视频道就可以了。Java程序员都知道Java中有interface可以实现对外的接口,但C++并没有接口这样的语法,那它要好怎样实现对外提供接口呢?我们可以通过纯虚函数定义一个抽象类,专门用来声明一个类的功能。我们完成了一个程序模块...
分类:
编程语言 时间:
2015-07-24 01:29:44
阅读次数:
221
集合框架体系结构集合框架体系结构图解释:虚点框:代表接口,虚线框:代表抽象接口,实线框:代表实现接口的类Collection和collections的区别:Collection是集合类的上级接口,继承与他的接口主要有Set和List.Collections是针对集合类的一个帮助类,他提供一系列静态方法实现..
分类:
编程语言 时间:
2015-07-21 07:54:26
阅读次数:
141
Ninject可以从Nuget包中轻松搜索到,安装步骤就不演示了。这个类简单来说就是可以使接口绑定到实现。比如,我们定义了一个仓库的抽象接口:public interface IBlogRepository { IQueryable Blogs { get; } }之后,如果我们...
分类:
其他好文 时间:
2015-07-20 19:02:43
阅读次数:
116
深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下...
分类:
编程语言 时间:
2015-07-15 18:23:31
阅读次数:
205