构架师训练营 - 第二周总结

用户头像
Dawn
关注
发布于: 2020 年 06 月 16 日

在极客时间听智慧老师讲课,老师说这里教授的技能,都是外面能够搜索得到的,除了以下内容,遂拿纸笔记之。



故事开场

这是发生在智慧老师身上的真实故事,那时智慧老师还是个职场新人,进公司不久他就做到项目构架师的位置,故事的开始,看似在其他技术人员出差的情况下,领导临危授命,将一个项目交给了我们的智慧老师,如果讲到这,恐怕大多数的人都会面感慨自己怎么没能遇上这样的大好机会。事实哪有什么捷径,听完老师的故事,大概可以将原因归结为:



  • 主动承担构架任务

在一些项目中,构架师很多时候并不是一个岗位,而是主动挑起负责,当他写的代码被人需要的时候,自然而然地成这这个项目的架构师。



  • 善于管理相关方期望

大多数情况下,领导和客户并不懂技术,而开发人员可能更关注项目的详细设计,如果有人善长于构架文档的能力,通过诸如软件构架4+1视图,为不同相关方呈现他们所关注的焦点,就不会被他们推着走。



翻开软件开发故纸堆

老师的故事戛然而止,我们正襟危坐地从软件开发的历史故纸堆里,翻出了三种编程语言,它们是:面向机器编程的汇编语言、面向人编程的高级语言、以及面向问题领域的面向对象编程语言。也提到这些年我们大多数人所写的程序,不写对像状态的Service,不写行为的POJO,不对类进行多态继承...., 原来这些都称不上面向对象编程,可谓一语惊醒梦中人。

继续颠覆三观,面向对象编程你的原则是什么?
  • 开闭原则

关闭对旧接口的修改,开放新增接口

  • 依赖倒置原则(好莱坞原则)

上层定义接口供底层实现(典型的场景如:回调接口)

  • Liskov替换原则

子里应该可以代替父类

  • 单一职责原则

非单一职责往往为使用某一功能而打包很多无关的功能

  • 接口分离原则

只暴露调用方有权使用的接口,屏蔽无关接口。

用户头像

Dawn

关注

还未添加个人签名 2018.07.04 加入

还未添加个人简介

评论

发布
暂无评论
构架师训练营-第二周总结