写点什么

面向对象设计总结

用户头像
Iris
关注
发布于: 2021 年 01 月 09 日

软件设计的最终目的:“强内聚,松耦合”

  • 易扩展

  • 更强壮

  • 可移植

  • 更简单

软件设计的“Bad Smell”:

  • 僵硬

  • 脆弱:改一个地方,引发其他的 bug

  • 不可移植

  • 晦涩

  • 重复代码

  • 过度设计


面向对象编程三要素

  • 封装

  • 继承:IS-A,除了 IS-A,还需要判断是否可以替代父类使用的场景

  • 多态:这个是面向对象编程设计的最重要一个方式


面向对象的原则:

  1. 开闭原则(Open-closed Principle):对扩展开发,对修改关闭,所以需要抽象

  2. 依赖倒置原则(Dependency-Injection Principle):

  • 高层模块不能依赖低层模块:高层定义调用接口,低层实现

  • 抽象不能依赖实现,实现依赖抽象

  1. Liskov 替换原则(LSP):这个是继承需要符合的要求,子类能替换父类的使用场合;子类的契约不能比基类更严格

  2. 单一职责(SRP):一个类只有一个引起变化的原因

  3. 接口分离原则(ISP):不要让客户看到他们不需要看到的方法


什么是对象?可以进行交互的,客观存在的。

好的设计不能通过设计本身看出来,需要放到上下文环境(软件开发上下文环境)。

软件上下文环境:需求总是在不断的变更,好的设计是能够不断的适应需求的变更,这才是衡量一个设计好不好的依据。


用户头像

Iris

关注

还未添加个人签名 2018.08.08 加入

还未添加个人简介

评论

发布
暂无评论
面向对象设计总结