架构师实现自己架构的主要手段
上周听了智慧老师聊了一下自己过往的经历以及自己是怎么从一线研发逐步走上架构之路的。在团队中要善于抓住机会,才有可能成就自己。身为架构师,需要有破局的能力。
软件开发简史
在计算机尚未诞生的很多年之前就已经有人类开始尝试编程的探索,早在1700年代德国人莱布尼茨为了实现将各种事物通过一种逻辑语言进行描述,然后使用可执行演算规则的机器进行计算,发明了微积分和二进制。
19世纪中叶,英国人 Ada利用打孔纸带写出了人类的第一个软件程序,该程序包含了循环和子程序。而距这个程序能运行的计算机发明还有100年的时间,由此世上第一个程序媛就此诞生。
什么是计算机? 什么是程序?
计算机读取数据进行计算,数据本身就包含着逻辑,因此计算机读取的数据就是程序。
此后 诞生了各种形形色色的编程语言, 汇编 --> Basic --> Perl --> C --> C++ --> Java 。
编程语言的实质
编程是为了使用计算机来解决现实世界的问题。 编程语言是一种抽象机制,对 “谁”来进行抽象
问题领域:包含与系统所要解决的问题相关的实物和概念的空间。
面向对象编程
对象具有状态(表明每个对象可以有自己的数据)、行为(每个对象都可以产生行为)和标识(每个对象区别于其他对象)。
面向对象编程三要素:封装、继承与多态。
面向对象编程并不简单的是使用面向对象的编程语言进行编程,而是利用其多态特性进行编程。
面向对象分析是将编程的业务领域(客观世界)进行对象分析。
面向对象设计的目的:强内聚、低耦合。
面向对象设计原则 -- OOD原则
开/闭原则(OCP)
对扩展开放,对更改关闭。
依赖倒置原则(DIP)
高层模块不能依赖低层模块,大家都依赖于抽象;
抽象不能依赖实现,而是实现依赖抽象。
框架核心: 好莱坞规则 Don't call me, I'll call you.
Liskov替换原则(LSP)
子类型必须能够替换掉它们的基类型。
单一职责原则(SRP)
又称为 内聚性原则,一个模块的组成元素之间的功能相关性。
接口分离原则(ISP)
不应该强迫客户程序依赖它们不需要的方法。
版权声明: 本文为 InfoQ 作者【_MISSYOURLOVE】的原创文章。
原文链接:【http://xie.infoq.cn/article/cb1bdef39d3d3a488c50832f1】。未经作者许可,禁止转载。
评论