软件设计原则 - 第二周总结
面向对象编程编程的本质
利用面向对象的多态特性进行面向对象编程。
框架与工具
工具:我写好你来用。
框架:你按我的规范写,我来调用你。
架构师应该关注的是框架,因为框架是架构落地的保证
软件设计的目的
软件设计的最终目的,是设计一个“强内聚,松耦合”的软件,这样的软件具备以下特性
易扩展:易于增加新功能
更强壮:不容易被初心的人破坏,避免因加新功能而修改类
可移植: 能够在多样的环境中运行
更简单:容易理解、容易维护
面向对象设计的原则
开闭原则(OCP)
对修改关闭
对扩展开放
依赖倒置(DIP)
高层模块不能依赖底层模块,而是大家都依赖抽象;
抽象不能依赖实现,而是实现依赖抽象
依赖倒置的关键在于我来定义,你来实现。
里氏替换原则(LSP)
在场景中任何使用父类的地方都能够用子类代替
单一原则(SRP)
一个类只有一个引起他变化的原因
接口隔离(SPR)
如果一个类有多个职责,应该用多个接口进行隔离,不同的使用者,面对不同的接口
评论