Week2- 总结

用户头像
TiK
关注
发布于: 2020 年 06 月 16 日

面向对象设计的目的

  • 高内聚: 相关度高的功能应该放在一起,尽可能的集中,不要分离。

  • 低藕合: 模块间把依赖部分降低到最低,关联太多容易造成牵一发而动全身。



从而使系统

  • 更强壮:不容易让被破坏

  • 易扩展:更容易增加新功能

  • 可移植:能够在多样的环境下运行

  • 更简单:容易理解,容易维护



不好的设计一般具有如下设计

  • 僵硬:不容易改变

  • 脆弱:只想改A,结果B被破坏

  • 不可移植:不能适应环境的变化

  • 导致误用的陷阱:引诱程序员破坏原有的设计

  • 晦涩:代码难以理解

  • 过度设计:



设计原则

  • OCP:不需要修改软件实体(类,模块,函数)就能实现增加功能。

对扩展开放

对修改封闭

  • DIP:高层模块不应该依赖低层,大家应该依赖抽象。抽象不应该依赖实现,而是实现依赖抽象。

倒置了什么:模块和包的依赖;开发顺序和职责(由上层或调用来定义接口)。

好莱坞原则:程序不应该调用框架,应按规范进行扩展,由框架调用扩展。

  • LSP: 一个正确的继承应符合

当选择扩展的时候应该尽量使用组合,而不是继承。

  • SRP: 内聚性原则

  • ISP: 不应该让客户程序依赖他们不需要的方法。



用户头像

TiK

关注

还未添加个人签名 2018.04.26 加入

还未添加个人简介

评论

发布
暂无评论
Week2-总结