• Geek_Zjy
    2020-01-10
    必须留个言,倾诉倾诉。
    昨天晚上就因为看争哥直播,3岁儿子把 mac 的屏给我弄碎了,这一下子看直播的代价也太惨重了,5千多。
    重点是我还只看了个开头o(╥﹏╥)o
     8
     29
  • 下雨天
    2020-01-10
    消息队列,事件监听实现了被观察者和观察者的解耦!
    
     15
  • 李小四
    2020-01-10
    设计模式_30
    # 作业
    消息队列,作为观察者模式的的代表,极大程度地实现了解耦,也在很大程度上解决了资源有限时的高并发崩溃。
    我认为API的使用也算是一种解耦吧,将客户端与服务端,将不同模块的服务可以高效配合,但不关心对方的实现。现在的web项目普遍使用了前后端分离的方式,其实在这之前还有一种混合(耦合)的方式,前后端的代码在一个仓库中,前端的细微修改要发布整个项目,极容易出错。

    # 感受
    我们现在技术,很大程度上解决了人脑解决不了的速度问题和复杂性问题,速度问题主要取决于硬件(只要代码不是特别糟),复杂性问题就成了程序员的重大难题,因为它违反直觉,它的设计起来困难且更需要耐心。

    另外,可以开始复习了。。。文中提到的原则有些已经记不清要点了。
    展开
     1
     8
  • 辣么大
    2020-01-10
    docker 通过容器打包应用,解耦应用和运行平台。
    
     5
  • Ken张云忠
    2020-01-10
    实际上,在我们平时的开发中,解耦的思想到处可见,比如,Spring 中的 AOP 能实现业务与非业务代码的解耦,IOC 能实现对象的构造和使用的解耦。
    除此之外,你还能想到哪些解耦的应用场景吗?
    解耦是人类应对复杂性问题的有效手段,解耦的核心是拆分,横向可以拆分出不同的模块,纵向可以拆分出不同的工序,然后就有了人类的大分工协作,分工协作可以把大规模的人有效组织起来参与社会大生产,最终推动社会生产力的进步.
    解耦场景如国家机器的运转,国务院有国防部/人民银行/财政部/审计署/农业部/保障部/卫生部/教育部/司法部/交通部/水力部/建设部/信息产业部/计委等不同部门组成,另外各个地方政府又有一套完整的组织体系共同组成中国的政府系统.各部各司其职,如人民银行负责货币政策的调整,财政部负责税收政策的调整等.
    企业的组织运转也是解耦的,企业内部不同的职能部门,如计财部/人力部/技术部/市场部/运营部.
    技术部又有不同的岗位,如产品经理/UI/开发/测试/运维.
    展开
    
     3
  • 王涛
    2020-01-10
    代码解耦的第二种方式,中间层。
    上层代码都依赖中间层代码,中间层也是使用基于借口而非实现编程。
    抽象出中间层肯定是好的,但这样是否也会带来另一个问题: 中间层接口变动必然会影响所有上层代码调用,接口的影响面是否是变大了?如果是的话,下一步有该怎么优化呢?
     1
     3
  • 桂城老托尼
    2020-01-10
    通过消息中间件实现的生产与消费的解耦;
    通过SPI回调实现的主流程与个性化编排实现的解耦;
    同步调用改为异步调用理论上也算调用与被调用的解耦;
     1
     3
  • Jeff.Smile
    2020-01-10
    重构是术与道的结合,道为重构的思路,指南。术是具体的手段!
     1
     2
  • 黄林晴
    2020-01-13
    打卡✔
    在小公司的团队种 如果注释用英文怕是会被喷

    看到有留言说 欠揍太长了 我不太赞同
    越是想往刚处越要捡起基础
    就算用了若干设计模式
    基础的东西都搞不好有什么作用呢
    展开
    
     1
  • lyshrine
    2020-01-13
    依赖注入是不是也算是组合?

    作者回复: 是的,从不同的角度来讲的,实际上可以看做一回事

     1
     1
  • 饭粒
    2020-01-13
    Linux 虚拟文件系统解耦系统调用和具体的文件系统实现;TCP/IP 网络协议分层。
    
     1
  • 王涛
    2020-01-10
    紧跟课程脚步,提高代码质量
    
     1
  • Geek_ab3d9a
    2020-02-04
    老师,请问 权限控制怎么做成模块化?现在的流程是:1判断是否是管理员,是哪个部门的 2 从数据库根据条件查询出数据。如果是管理员查询出他们部门所有数据。如果不是,只查询自己修改维护的数据。 感觉查询数据和权限控制有点难分开。
    
    
  • eason2017
    2020-02-03
    通过消息中间件实现业务复杂逻辑的解耦。
    
    
  • 每天晒白牙
    2020-01-30
    mq实现解耦
    
    
  • 落叶飞逝的恋
    2020-01-21
    消息中间件就是使用的解耦的思想来设计的
    
    
  • 相逢是缘
    2020-01-20
    打卡
    1、如何判断代码是否需要解耦
    直接衡量标准:画出模块与模块、类与类直接的依赖关系,如果依赖关系复杂则需要重构
    间接标准:牵一发而动全身
    2、如何进行解耦
    1、封装和抽象(如linux的open函数)
    2、增加中间层(可分阶段)
    第一阶段:引入中间层,封装新接口。
    第二阶段:新的模块开发基于新接口。
    第三阶段:调用老接口的代码替换为新接口。
    第四阶段:删除掉老的接口
    3、模块化
    4、利用设计原则和思想
    1)单一职责原则
    2)基于接口而非实现编程
    3)依赖注入
    4)多用组合少用继承
    5)迪米特法则
    展开
    
    
  • Dimple
    2020-01-19
    通过各种中间件,让应用模块化,也是解耦的一种方式吧。

    我们项目组现在,逐渐用了消息队列,从我的角度来看,用户体验都有一个提升
    
    
  • ちよくん
    2020-01-19
    jvm 跨平台,jdk 中的异步线程,现代电脑的高速缓存,前后端分离部署等等,均可视为解偶。
    
    
  • 梦倚栏杆
    2020-01-19
    我还有一个强烈的感受:技术实现时总期望可以能够抽象成简单的模式,但是一单底层向上服务足够简单的时候,就容易吃掉很多信息。尤其在异常的时候,站在产品的角度可以期望可以给用户提示出当时的错误信息指标等。实际场景的负责和技术期望的简单归一化这中间有什么可以判断取舍的标准吗?
    
    
我们在线,来聊聊吧