第二周 - 总结
软件开发简史
从编程的历史看编程的本质和未来
德国人莱布尼兹
人类的第一位程序员: Ada
分析抽象 设计, 抽象, 开发, 实现
面向对象的对象,面向领域问题 ----------> 模型 --------------------> 软件系统
ddd: 领域驱动设计
汇编: 对机器的抽象
非结构化的高级语言: 计算处理逻辑抽象
面型对象: 问题领域
面向数据编程: ai
面向函数编程适合面向数据编程
无状态对象: 没有数据~没有行为
没有利用多态,就是没有真正的使用面向对象进行编程,只是用了面向对象语言而已
框架设计
框架 VS 工具
框架调用应用程序代码
应用程序代码调用工具
架构师用框架保证架构的落地
架构师用工具提高开发效率
所有软件的目的
强内聚, 松耦合
好处: 易扩展 、 更强壮 、 可移植 、 更简单
软件坏处: 僵硬 、脆弱、 不可移植、导致误用的陷阱、晦涩、过度设计、牢固性、粘滞性、不必要的复杂、不必要的重复
OOD 原则 1 : 开闭原则(OCP)
对扩张是开放的
对更改是封闭的
如何做到不修改? 关键是抽象!
DIP 原则 2 : 依赖倒置原则,底层按高层的抽象来实现
OOD 原则 3: 里氏替换原则
子类型必须能够替换它们的基类型
解决办法,1、抽取共性到基类
2、 改成组合
OOD 原则四: 单一职责原则(SRP)
方法: 区分职责
OOD 原则五: 接口分离原则(ISP)
慎用继承,不要为了使用方法而继承
评论