week2 学习总结
本周学习框架设计心得如下:
1.软件设计的最终目的:
易扩展,更强壮,可移植,更简单
2.框架设计原则
1).OOD 原则一:开/闭原则(OCP) 即面对扩展时开放的,面对修改时关闭的。
• 对于扩展是开放的(Open for extension)
• 对于更改是封闭的(Closed for modification)
• 简言之:不需要修改软件实体(类、模块、函数等),就应该能实现功能的扩展。
传统的扩展模块的方式就是修改模块的源代码。如何实现不修改而扩展呢?
关键是抽象,定义各种各样的抽象接口,我们针对抽象接口进行编程,一旦需求变更直接修改接口的实现类就行,
接口和接口的调用不会变化,从而实现开/闭原则。
2).OOD 原则二:依赖倒置原则(DIP)
• 高层模块不能依赖低层模块,而是大家都依赖于抽象;
• 抽象不能依赖实现,而是实现依赖抽象。
DIP 倒置了什么?
• 模块或包的依赖关系
• 开发顺序和职责 依赖倒置:高层模块先定义一个接口供高层调用,供低层实现这个接口
软件的层次化
• 高层决定低层
• 高层被重用
框架的核心(设计核心:应用程序不调用框架,框架调用我们的应用程序)
3).好莱坞规则:
高层模块/框架(例:tomcat)定义接口,不依赖我们的应用程序,我们的应用程序实现了接口,最终实现高层模块/框架调用我们的应用程序.
评论