第二周学习总结
总结
这周的学习主要是为了培养 "抽象" 的概念,也就是在面向对象的编程思路中,关键的点就是“抽象”,编程中要面向接口,面向抽象编程,从而有来很多优秀的开发的原则,比如依赖倒置,里氏替换,单一职责,开闭幕式原则等。
如何抽象
百度百科的解释
抽象是一个很广的概念,在百度百科中,抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征的过程。具体地说,抽象就是人们在实践的基础上,对于丰富的感性材料通过去粗取精、去伪存真、由此及彼、由表及里的加工制作,形成概念、判断、推理等思维形式,以反映事物的本质和规律的方法。
我的理解
抽象更多的是,在编程的时候,对领域的不同事物,或者不同领域的不同事物进行职责划分,每个事物或者对象之间,尽可能少的进行直接联系,他们之间的联系应该通过一种约定,也就是常说的接口进行通信,交互,这样可以减少对象之间的耦合,而后面的多个原则则是为了更好的进行抽象
依赖倒置原则
高层不依赖于低层,高层与低层之间通过接口进行约定行为,调用
里氏替换
里氏替换原则,一般是用子类来替换基类,观察程序的行为或者结果是否发生改变,从而检验的继承是否合理,抽象是否正确
5. 单一职责
抽象的事物,领域的划分应该足够细分,对象的职责越清晰越简单,出错的概率就越低
开闭原则
修改程序时,不应该去修改抽象后对象的职责,而更多的应该去扩展对象
版权声明: 本文为 InfoQ 作者【林杭戴】的原创文章。
原文链接:【http://xie.infoq.cn/article/6da19858af54e3b3b8971e4ef】。未经作者许可,禁止转载。
评论