架构学习(二)总结
编程语言的实质
编程的目的:用计算机来解决现实世界的问题。
编程的过程:在计算机所能理解的“模型”与现实世界之间建立一种联系。
编程语言是一种抽象机制,问题是对谁进行抽象。
什么是面向对象编程?
第一个成功实现面向对象的语言Smalltalk描述:
万物皆为对象
程序是对象的集合,他们通过发送消息来告知彼此所要做的。
每个对象都有自己的由其他对象所构成的存储。
每个对象都拥有其类型。
每个特定类型的所有对象都可以接收同样的消息。
什么是对象?
Booch对于对象的描述:对象具有状态、行为和标识。
状态:表明每个对象都可以拥有自己的数据。
行为:表明每个对象可以产生行为。
标识:表明每个对象都区别于其他的对象。(唯一的地址)
面向对象编程的三要素
封装性:隐藏访问细节(访问控制);定义接口
多态性:IS-A关系;HAS-A关系(组合)
继承性:后期绑定;向上转形
面向对象设计的目的与原则
强内聚,低偶合,是程序具有
易扩展
更健壮
可移植
更简单
设计模式
设计模式是用于解决某一问题的通用解决方案。
设计模式也是语言中立的。
设计模式贯彻了设计原则。
三大类设计模式23种基本设计模式:
创建类
行为类
结构类
框架
框架是用来实现某一类应用的结构性的程序,是对某一类架构方案可服用的设计与实现。
如同框架结构的大厦构建。
简化应用开发的工作
实现了多种设计模式,是应用开发者不必花太多的力气,就能设计出良好的程序来。
框架调用应用程序代码。
应用程序代码调用工具。
架构师用框架保证架构的落地。
架构师用工具提升开发效率。
软件设计的5大原则
1. 开闭原则:对扩展开放,对修改关闭。
2. 依赖倒置原则:高层模块不依赖底层模块,而是大家都依赖抽象;实现依赖抽象,抽象不依赖实现。
3. 里氏替换原则:能用父类的地方,一定可以用子类替代。
4. 单一职责原则:一个类只有一个引起它变化的原因。
5. 接口隔离原则:不应该将应用不需要的接口暴露给应用类。
评论