1.概述 观察者模式最常用的地方是GUI系统.订阅-发布系统.观察者模式的一个重要作用就是解耦,将观察者和被观察者解耦,使得他们之间的依赖性更小. 2.定义 定义对象间的一种一对多依赖关系,使得每当一个对象改变状态时,所有依赖他的对象都会得到通知并自动更新. 3.简单的代码实现 观察者 public class MyObserver implements Observer { public String name; public MyObserver(String name){ this.nam…
原文地址 http://blog.csdn.net/qq_25806863/article/details/69218968 观察者模式是一种使用频率非常高的设计模式,最常用的地方就是订阅-发布系统. 这个模式的重要作用就是将观察者和被观察者解耦,使他们之间的依赖更小甚至没有. 定义定义对象一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于他的对象都会得到通知并被自动更新. 使用场景关联行为场景,这个关联是可拆分的.将观察者和被观察者封装在不同的对象中,可以各自独立的变化.当一个对象改…
1,今天刚好看到了设计模式这一块来,而观察者模式是我一直想总结的,先来看看观察者模式的简单的定义吧 "当一个对象改变时,他的所有依赖者都会受到通知,并自动更新." 一般我们项目中就是用在用户登录这一块,一些模块是只有用户登陆后才能进行浏览和进行操作的,现在以用户登录和未登录状态来举个栗子. 从大的方面来看,一般观察者模式存在一下四个基本的类: 抽象主题:抽象主题对象一般是一个接口,且里面包含最基础的添加观察者对象.移除观察者对象.通知观察者状态改变. 具体主题对象:针对主要是这个功能是…
装载请标明出处:https://www.cnblogs.com/tangZH/p/11175120.html  观察者模式 说白了,就是一个对发生改变,所有依赖于它的对象也发生改变,这是一对多的关系. 比如对象A,对象B,对象C.B与C依赖于A,那么A发生改变,B与C也将发生改变.此时A是被观察者,B与C是观察者. 观察者模式又被称作发布/订阅模式,主要是为了让观察者与被观察者之间进行解耦. UML图:  角色说明: Subject(抽象主题):被观察者的一个抽象类,它会把所有观察者的引用保存在…
1.面试的时候问这个问题: 在ListView 的item小程序.很多不同的显示风格.或者是,为了更好地维护,不同的样式,应该怎么做? 我一下就想到的是工厂的模式,利用project,编写ViewFactory,方法中有getView()的方法,以后须要时.加入对应的參数,并编写不同的实现类.也就是不相同式的视图. 可是这种答案,似乎没有让面试官惬意: 他的意思是.书写不同的Adapter ,通过适配器中的getView()获取不同的View,即:一个样式的视图,相应一个Adapter.即在li…
今天,简单讲讲Android里关于EventBus的使用. 这几天,由于面试的缘故,我听到了很多Android的流行框架,但是之前自己在公司做APP时并没有使用,所以没有了解.于是在网上查找了资料,学习了这些Android的流行框架的使用,准备做一个Android流行框架的专栏.分别介绍Android框架:EventBus,RXJava,Retrofit,OKHttp,Dagger2,ButterKnife,Glide,volle,green这些框架.目前只打算将这些框架的基本使用,以后再项目里…
http://www.cnblogs.com/qianxudetianxia/category/312863.html Android设计模式系列(12)--SDK源码之生成器模式(建造者模式) 摘要: 建造者模式把构造和表示分离开,根据客户需求生产一个相应的对象.本来呢,我们根据Builder接口实现不同的具体的ConcreteBuilder,就可生产不同的对象了.但是,下面例子的只有一个Builder,所以也没有接口Builder,也没有其他的ConcreteBuilder.但是我今天要讲的…
题记==============================================================================本php设计模式专辑来源于博客(jymoz.com),现在已经访问不了了,这一系列文章是我找了很久才找到完整的,感谢作者jymoz的辛苦付出哦! 本文地址:http://www.cnblogs.com/davidhhuan/p/4248205.html ===========================================…
1.复合模式:三层架构.MVC.MVP.MVVM 2.设计模式-单例模式 配置类的使用. 3.设计模式-模板方法 通过抽象类或接口提前定义要实现的方法. 4.设计模式-观察者模式 消息的通知. 5.设计模式-装饰模式:处于安全目的,保护被访问者 对一个已有的接口进行功能扩展. 如,继承父类,并增加扩展新的方法. 6.设计模式-策略模式 MVC中: 控制器是视图的策略. 视图只关心系统中可视的部分,对于任何界面行为,都委托给控制器处理. 控制器负责和模型交互来传递用户请求,对于工作是怎么完成的,视…
定义: 观察者模式又叫发布订阅模式,它定义了对象间的一种一对多的依赖关系.观察者模式让两个对象松耦合地联系在一起,虽然不太清楚彼此的细节,但这不影响他们之间的互相通信. 思路 定义一个对象,在对象中实现注册事件,关闭事件和触发事件. js 简单实现 var Observer = { data: {}, // 订阅 register: function (event, func) { if (this.data[event]) { this.data[event].push(func); } el…