第 2 周 课后总结
在本周的课程中,我了解到以下内容:
- 一个好的软件设计是什么样的?一个不好的软件设计是什么样的? 
- 学习几个设计原则: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):使用多个专门的接口比使用单一的总接口要好。一个类对另一个的依赖性建立在最小的接口上; 
版权声明: 本文为 InfoQ 作者【Coder】的原创文章。
原文链接:【http://xie.infoq.cn/article/db917506028d33459813d25a2】。未经作者许可,禁止转载。












 
    
评论