架构师训练营W2-总结

米斯特程序猿 2020年10月04日 305次浏览

架构师训练营第二周学习总结

  • 面向对象的本质与未来
    • 面向对象的本质是:面向对象设计,面向对象调用,面向过程编程(实现),这里的对象都是抽象的有公共特征的领域或事物,一切以人能理解的方式去设计,最终解释为机器可执行的编码
    • 面向对象诗面向人的思维来设计
    • 未来函数式编程会越来越普及
  • 糟糕的代码或设计特点
    • 大量if else 、switch 处理逻辑同一个状态对象的不同状态值
    • 没有进行合理的抽象模型剥离,充满结构化编程思维
    • 调用混乱,没有层级划分,或者有层级划分但是高层低层混合调用,耦合严重
    • 新增或修改功能需要改动大量地方,甚至重写
  • 常用的设计原则
    • 开闭原则:对扩展开放,对修改关闭,既尽量做到不修改原逻辑的情况下做到灵活新增变更功能
    • 依赖倒置原则:高层定义标准,低层实现标准,高层调用低层,低层不能调用高层
    • 单一职责原则:一个类或对象只完成一件事或一个操作,比如某个接口需要组合多个接口来实现一个功能,从这个接口来看它也满足单一职责原则
    • 里氏替换原则:抽象公共功能,由子类去实现,使用时使用抽象功能构造具体实现,当需要切换一个功能时只需要更换具体实现,不要修改抽象且变更不影响调用方
    • 接口隔离原则:使用者只需要关心自己该用哪些功能,不关系非使用功能,例如只使用查询功能的,不需要看到修改、删除操作