第二周总结
第一节、编程历史:机器语言是机器指令的抽象、结构化语言是人类逻辑的抽象、面向对象是现实世界的抽象。通过面向对象语言解决复杂线性逻辑的耦合。
利用了多态特性的编程才是面向对象编程。
第二节、避免怀味道:
1、功能进行高层抽象
2、采用一些设计原则(里氏替换)
3、采用一些设计模式(策略模式、工厂模式)
4、对重复代码封装为工具或对象
第三、四、五、六节
依赖倒置原则:
1、依赖倒置原则:高层依赖接口/抽象,低层实现接口/抽象
2、依赖倒置原则我的理解就是:高层面向接口/抽象设计,低层面向接口/抽象编程,高层与低层之间只通过接口/抽象来联系,且低层只能面向高层接口/抽象去实现逻辑,不允许低层自己定义新的接口/抽象
例子:Spring AOP,Spring 规定了 AOP 有哪些切面接口(环绕、前置、后置、异常处理注解),而具体实现由开发人员去编写和声明,Spring AOP 框架会执行这些定义好的接口对应的实现
里氏替换原则:
1、判断继承是否合理
2、必须依托实际场景来分析继承是否合理
3、高度抽象相同行为操作,父类不关心子类怎么实现,父类提供对外统一的行为操作
4、里氏替换原则通常会组合策略模式达到项目功能的可扩展性与可维护性
单一职责原则:
一个功能只完成它自己该完成的事情,属于高内聚设计思想,使用此原则时要避免过度细分,要结合接口隔离原则来设计,单一职责通常面向接口设计为接口职责单一
接口隔离原则:
细分某个功能或操作,为调用者提供更多的选择以及屏蔽不要的功能
看完开闭原则、依赖倒置原则、里氏替换原则、单一职责原则、接口隔离原则 这几节后对这些原则有了更深的理解,回忆以往设计项目或功能能时多多少少都有用到
这些原则本质上是指引我们设计更优良的系统或功能,都是相辅相成的,用在实际场景用才更有意义
第七节
老师和我们讲解了反应式变成框架的整体架构,让我整体了解了 flower 的设计,也加深了常见影响系统效率的点。
总结:老师从编程历史和我们概述了编程发展到现在,大家总结出来的设计原则。也从 flower 框架上,总结设计思路,设计方法,与为什么要这么设计,进行了详述的讲解。
评论