学习总结 -week2

用户头像
Mr_No爱学习
关注
发布于: 1 小时前

编程和编程语言的演变

什么是面向对象编程

第一个成功的面向对象的语言 Smalltalk 描述

万物皆对象

程序是对象的集合,它们通过发送消息来告知彼此所要做的

每个对象都有自己的由其他对象所构成的存储

每个对象都拥有其类型

某一特定类型的所有对象都可以接收同样的消息



面向对象三要素:

封装性(Encapsulation

• 隐藏实现细节(访问控制)

• 定义接口

继承性(Inheritance)

• IS-A关系

• HAS-A关系(组合)

多态性(Polymorphism

• 后期绑定(虚函数)

• 向上转形(Up Casting)



设计模式

设计模式是用于解决某一种问题的通用的解决方案。

设计模式也是语言中立的。

设计模式贯彻了设计原则。



框架和工具的区别

框架调用应用程序代码

应用程序代码调用工具



OOD原则

Open/Closed Principle

对于扩展是开放的(Open for extension)

对于更改是封闭的(Closed for modification



DIP - Dependency Inversion Principle

高层模块不能依赖低层模块,而是大家都依赖于抽象;

抽象不能依赖实现,而是实现依赖抽象。

好莱坞规则:

  • Don't call me, I'll call you.



Liskov 替换原则

1988年,Barbara Liskov 描述这个原则:

  • 若对每个类型 T1 的对象 o1,都存在一个类型 T2 的对象 o2,使得在所有针对 T2 编写的程

  • 简言之:子类型(subtype)必须能够替换掉它们的基类型(base type)。

通俗地说:子类必须要是父类类型,并且在实际运行中可以替换父类



SRP - Single Responsibility Principle

  • 又被称为“内聚性原则(Cohesion)”,意为: 一个模块的组成元素之间的功能相关性

  • 将它与引起一个模块改变的作用力相联,就形成了如下描述: 一个类,只能有一个引起它的变化的原因。



ISP - Interface Segregation Principle

  • 不应该强迫客户程序依赖它们不需要的方法。



反应式编程框架flower的介绍



用户头像

Mr_No爱学习

关注

还未添加个人签名 2019.09.13 加入

还未添加个人简介

评论

发布
暂无评论
学习总结 -week2