想做一个合格的码农,基础真心很重要,这也是一些大企业(BAT等)在招聘时重点考虑985/211的原因,前
段时间校招都很火爆啊,一些小伙伴如愿自豪的杀进去拿到offer,当然,部分可能运气不佳,有那么一两道
题因答得不够深入错失大好机会,别灰心,经过我们的再次努力还是有机会的,长话不多说,重点在强调基础,
基础很重要!!!基础很重要!!!基础很重要!!!重要的事说三遍。
该铺垫的也铺垫过了,开始正文了,老生常谈问题,面向对象的六大原则:
1.单一职责原则
此原则英文称:Single Responsibility Principle,简称SRP。其实从字面意思也不难看出其原则规范,
职责单一,例如,在我们开发某模块时,可能会涉及到几个或多个功能,将每个功能独立开,不要将其都写在一个类中。
降低耦合度。相对专业点讲就是:“一个类中应该是一组相关性很高的函数、数据的封装——
《Android源码设计模式解析与实战》”。
2.开闭原则
此原则英文称:Open Close Principle ,简称OCP。
开闭原则的定义是:软件中的对象(类、模块、函数等)应该对于扩展性是开放的,对于修改是封闭的。
例如:在代码维护中,每次有新的需求都要去修改原来的代码么,这样带来的结果就是增加测试难度,可能还会
导致之前本来ok的功能出现问题,不妨引入接口,都实现接口,调用方调用接口,具体实现交给各个实现类,有新业
务需求,增加实现类即可,不用每次修改都修改引用类的代码,如个实现类内部出现问题,单独修改即可。
3.里氏替换原则
此原则英文称:Liskov Substitution Principle ,简称LSP。
此原则依赖三大特征中的继承,一句话总结为:只要父类出现的地方子类就可以出现,而且替换为子类也不会
产生任何错误或异常,使用者可能根本就不需要知道使用的是父类还是子类。
4.依赖倒置原则
此原则英文称:Dependence Inversion Principle,简称DIP。
此原则强调代码中的解耦,一句话总结为:模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,
其依赖关系是通过接口或抽象类产生的。
5.接口隔离原则
此原则英文称:InterfaceSegregation Principles,简称ISP。
从英文名称上来看,此原则与接口有相关性,没错,他是用来规范接口中的书写的,就是用最小化接口隔离实现
类的细节,将庞大,臃肿的接口拆分到粒度更细的接口中区,降低耦合性,提高代码灵活性。
6.迪米特原则
此原则英文称:Law of Demeter,简称LOD.
通俗讲:一个类应该对自己需要耦合或调用的类应知道的最少,类的内骨如何实现与调用者或者依赖着没关系,
调用者或着依赖者只需要知道它需要调用的方法即可,其它一概不用管,降低耦合。
描述的大部分参考《Android源码设计模式解析与实战》,简略了很多,主要说了主要点,想更细节深入的了解可
看看这本书。
总之,码农之道仍需前行,且行切锤炼。