Week 2 总结
1. 关于原则
Single Responsibility Principle:单一职责原则
Open Closed Principle:开闭原则
Liskov Substitution Principle:里氏替换原则
Interface Segregation Principle:接口隔离原则
Dependence Inversion Principle:依赖倒置原则
这些原则的好处就是,降低复杂度,并更好的面对变化。
1.1 单一职责原则
如果一个人身兼数职,那出错的概率是不是很大?对人的要求肯定非常高。程序也是如此,如果一个模块或者一个类,负责的事情太多,写代码的时候也容易出错,后续维护的人也会陷入痛苦之中。单一原则是现实世界的一个映射。
1.2 开闭原则
开闭原则就是为了更好的面对变化,已经做过的事情,不用担心出现问题,如果有新增变化,扩展即可。这样在测试中,测试人员不用担心已经上线的代码。软件的整体复杂度也会降低,不用担心过去的代码对现在的影响。
1.3 里氏替换原则
里氏替换的目的也是降低代码复杂度,提高程序健壮性。如果把程序的继承理解成基因的继承,那就是让基因变异只发生在固定区域,有些地方不能变。和人类很相似,就算发生基因变异,人类可能也是两个眼睛、一个鼻子,不会长翅膀。程序中也是如此,继承之后不能覆盖父类的方法,只能扩展
1.4 接口隔离原则
这个原则和单一职责原则很类似了,专人专岗,这样人不容易出错。就好像安装一个手机app,上面就显示时间最好了,不要给什么天气预报这种不需要的功能。
1.5 依赖倒置原则
依赖于抽象是用面对变化的最好办法,比如公司的销售是不能用自己的手机的,而是用公司发的专门对外对接的手机和手机号去联系外部,这个手机就相当于一个抽象,无论销售入职还是离职,对外的都是这个手机。这个手机就是一个抽象。具体的实现肯定会经常变化的,而抽象是不变的。
版权声明: 本文为 InfoQ 作者【黄立】的原创文章。
原文链接:【http://xie.infoq.cn/article/3ffa8e560fce21303f1485560】。文章转载请联系作者。
评论