第 2 周 课后总结

用户头像
Coder
关注
发布于: 2020 年 06 月 17 日

在本周的课程中,我了解到以下内容:

  • 一个好的软件设计是什么样的?一个不好的软件设计是什么样的?

  • 学习几个设计原则:OCP、DIP、LSP、SRP、ISP?



软件设计的好坏

一个好的软件设计是“强内聚、松耦合”,从而使软件:

  • 易扩展 - 易于增加新功能;

  • 更强壮 - 不容易被粗心的程序员破坏;

  • 可移植 - 能够在不同环境下运行;

  • 更简单 - 容易理解、容易维护;



一个不好的软件设计,会有以下表现:

  • 僵硬 - 不易改变;

  • 脆弱 - 只想改A,结果B被意外破坏;

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

  • 导致误用的陷阱 - 做错误的事比做正确的事情更容易,破坏原有的设计;

  • 晦涩 - 代码难以理解;

  • 过度设计、复制粘贴代码;



设计原则

  • 开放封闭原则OCP(Open Closed Principle):软件实体对扩展开放,对修改封闭;

  • 依赖倒置原则DIP(Dependency Inversion Principle):依赖抽象不要依赖具体实现。和好莱坞原则相似;

  • 里氏替换原则LSP(Liskov Substitution Principle):子类的实例能够替换其父类的实例;

  • 单一责任原则SRP(Single Responsibility Principle):一个类/对象只有一个引起变化的原因。换言之,一个类只有一个类型责任;

  • 接口分离原则ISP(Interface Segregation Principle):使用多个专门的接口比使用单一的总接口要好。一个类对另一个的依赖性建立在最小的接口上;



发布于: 2020 年 06 月 17 日 阅读数: 41
用户头像

Coder

关注

还未添加个人签名 2018.05.04 加入

还未添加个人简介

评论

发布
暂无评论
第2周 课后总结