zoukankan      html  css  js  c++  java
  • Head First 设计模式——观察者与装饰者模式

      一些胡扯

      这两周发生了好多事,之前偶尔看的一个公众号,号主居然生病住院了……我的健身计划看来不能一直停留在脑海中了。

      一直期待的新项目交到了我手中,但真接到手才发现真是巨坑啊!却不会像以前一样只是抱怨了,每个地方有10%制造问题的人,70%提出问题的人,20%解决问题的人。结合目前部门内的情况,我发现确实如此,真正在干活的,解决问题的人就那么几个。我也想成为解决问题的人,这样的人才是有价值的。

      还经同事介绍认识了一个妹子,程序员,,或者说码农,真的不像网上说的那样情商低、不解风情之类的吧,至少这个职业不会是减分项。

      读书笔记

      这周读了观察者与装饰者2个设计模式。可惜,我在工作中没看到用到这2种设计模式的代码。

      观察者,订阅发布模式,有2种方式,一种是推,主题把所有信息推送给所有订阅者,这种是主题主动把数据给订阅者。一种是拉,主题写get方法,订阅者去主动向主题获取数据,各有各的好处吧,没用过不太清楚。微信的公众号,邮箱的订阅…… java类里制造的一对多关系。

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

      设计原则:为了交互对象之间的松耦合设计而努力。

      Swing类里有涉及观察者模式,但我没去看,因为Swing没有业务会用了。

      装饰者模式,jdk里的代表是java.io,代码应该免于改变,能够扩展。

      动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。

      类应该对扩展开放,对修改关闭。

      

      

  • 相关阅读:
    【C++】C++代码动态检查
    【加解密】使用CFSSL生成证书并使用gRPC验证证书
    分库分表下跨库join解决方案
    解决1235
    为什么v-for中的key值不推荐使用index
    弹性布局公共样式总结
    关于python的模块
    [转]Ubuntu18.04安装uwsgi错误:error: lto-wrapper failed collect2: error: ld returned 1 exit status
    python 坐标遍历 生成笛卡尔积矩阵
    Mongo BsonUndefined 转换问题(自定义Mongo类型转换器)
  • 原文地址:https://www.cnblogs.com/weixin-tt/p/12905192.html
Copyright © 2011-2022 走看看