位置: 编程技术 - 正文

设计模式In Android——观察者(Observer)模式_1(设计模式具有的优点)

编辑:rootadmin

推荐整理分享设计模式In Android——观察者(Observer)模式_1(设计模式具有的优点),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:设计模式有哪些,设计模式面试题 java,设计模式七大原则,设计模式原则,设计模式原则,设计模式七大原则,设计模式23模式介绍,设计模式六大原则,内容如对您有帮助,希望把文章链接给更多的朋友!

写在前面的话: 1,记录学习的过程,希望能够坚持下去。 2,代码Based On Android4.4;主要参考书籍《Head First 设计模式》

什么是观察者模式? 定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。

怎么设计一个观察者模式的程序? 确定两个核心对象:(《Head First》Chapter 2) a.主题(Subject.java,WeatherData.java):要实现register()/unregister(),notify()方法 b.观察者(Observer.java,CurrentConditionDisplay.java/StatisticsDisplay.java):要实现update()方法

确定这两个对象之间的关系: 主题对象管理某些数据,一旦数据发生改变,会主动向观察者进行通知,然而观察者不必向主题进行索取。 主题并不知道具体的观察者是谁,这是它们之间的关系。

原则

观察者模式是体现了“针对接口编程,而非针对实现编译”; 所以针对接口编译,我认为是把接口(Subject)或者接口的实现(WeatherData)作为参数,如public CurrentConditionsDisplayer(Subject weatherData)使用观察者模式的布告板可以动态的添加(register)。为了交互对象之间的松耦合设计而努力设计模式In Android——观察者(Observer)模式_1(设计模式具有的优点)

静态类图

代码实现 在测试类中,实例化一个WeatherData

在CurrentConditionsDisplayer的构造方法中,会调用WeatcherData.registerObserver方法,把已经注册进去。 在WeatherData.java实现registerObserver方法,就是把

在进行数据传递的方法notify()方法中,会遍历ArraryList逐个调用update()方法通知。 WeatherData.java

CurrentConditionsDisplayer.java中去显示

代码下载:代码

下节学习一下在Android里面,哪里使用Observer模式。

点击LinearLayout使用selector改变TextView字体颜色 LinearLayoutandroid:clickable=trueandroid:focusable=trueTextViewandroid:duplicateParentState=true/android:textColor=@drawable/selector_setting_txt/LinearLayout?xmlversion=1.0encoding=utf-8?selectorxml

android图表ichartjs android之ichartjs图表1.

JDK/ADT Android开发环境搭建 1.1JDK环境搭建安装Windows7(如果已有,可以跳过)去

标签: 设计模式具有的优点

本文链接地址:https://www.jiuchutong.com/biancheng/381093.html 转载请保留说明!

上一篇:android内存泄露优化总结(android内存泄露监测)

下一篇:点击LinearLayout使用selector改变TextView字体颜色(linearlayout布局怎么设置)

  • 递延所得税负债怎么算
  • 什么是特别纳税人
  • 税后净利润怎么算股价
  • 增值税核算应设置什么
  • 定金冲抵货款怎么做分录
  • 进口货物销售不开票
  • 现金流量净额正负
  • 公司租用私人汽车违法吗
  • 小规模纳税人不开票收入怎么报税
  • 修缮服务开票项目一览表
  • 每月先报税还是先清卡
  • 信息技术费如何做账
  • 5个点的税率是多少
  • 展板制作费属于什么服务
  • 商贸企业印花税税率
  • 存在上期留抵税额怎么计算即征即退
  • 银行利息收入确认时间会计与税法的差异
  • 税控盘抵扣政策依据
  • 电子发票缩小多少比例打印
  • 纳税人跨县(市、区)是指
  • 所得税不能税前扣除项目
  • 出口企业应交税费是负数怎么解释
  • 营业成本收入比
  • 月末印花税会计分录
  • 公司注销未缴纳社会保险费
  • 资产负债一并转让增值税
  • 未做账怎么补账
  • 企业所得税发票虚假成本调减当年的吗
  • 合作社人工工资账务处理
  • 小商业企业应交所得税
  • 代建工地
  • 固定资产折旧的会计凭证
  • linux杀死服务
  • 代垫费用的进项怎么抵扣
  • 免单产品是什么意思
  • 预提收入的会计处理方法
  • 资产减值损失的借贷方向
  • 车辆开具发票后会计分录?
  • 企业所得税核定征收方法有哪两种
  • ps_clk
  • 利润与所有者权益的区别
  • 库存商品是什么会计要素
  • 差额征税可以开专票抵扣吗
  • 不能抵扣的抵扣了怎么办
  • 主营业务利润率标准
  • SQL Server 2008+ Reporting Services (SSRS)使用USER登录问题
  • 个人销售商品交什么税
  • 怎样计算主营业务收入
  • 工资与社保的关系图
  • 小规模纳税人缴纳增值税怎么做账
  • 公司账户的钱如何转出
  • 凭证摘要写错了已结账了怎么办
  • 未实现内部交易损益是什么意思
  • 费用报销单和费用核销单一样吗
  • 应收账款的账户余额
  • win10系统微软
  • ubuntu16连接wifi步骤
  • centos怎么添加用户
  • 开机时显示
  • 怎么清理win7
  • win10周年纪念版
  • win7如何升级win11系统
  • 用linux配置ftp服务器的过程
  • 安卓注入工具
  • perl cgi
  • Unity3D游戏开发标准教程
  • css浮动和清除浮动
  • css标准规范
  • Node.js中的事件循环是什么意思
  • js格式化输出
  • jquery(document).ready
  • javascript怎么写
  • JavaScript onkeydown事件入门实例(键盘某个按键被按下)
  • javascript的介绍
  • 个体工商户税务年报网上怎么申报
  • 购货方已抵扣的发票购货方怎么申请红冲
  • 汽车车船税怎么交
  • 工商变更信息如何在网上打印?
  • 精神残疾人员是残疾人吗
  • 涠洲岛船票售完
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设