OOD 面向对象面试必读 | 面向对象设计的SOLID原则

专栏 | 九章算法html

网址 | www.jiuzhang.com程序员

S.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写。面试

简写 全拼 中文翻译
SRP The Single Responsibility Principle 单一责任原则
OCP The Open Closed Principle 开放封闭原则
LSP The Liskov Substitution Principle 里氏替换原则
DIP The Dependency Inversion Principle 依赖倒置原则
ISP The Interface Segregation Principle 接口分离原则

Steve Smith在5月份的微软TechED 2009上有个SOLIDify Your ASP.NET MVC的讲座, derick.bailey的SOLID Development Principles – In Motivational Pictures很好的解释了SOLID原则。算法

01 单一责任原则编程

当须要修改某个类的时候缘由有且只有一个(THERE SHOULD NEVER BE MORE THAN ONE REASON FOR A CLASS TO CHANGE)。换句话说就是让一个类只作一种类型责任,当这个类须要承当其余类型的责任的时候,就须要分解这个类。 微信

image

02 开放封闭原则编码

软件实体应该是可扩展,而不可修改的。也就是说,对扩展是开放的,而对修改是封闭的。这个原则是诸多面向对象编程原则中最抽象、最难理解的一个。 翻译

image

03 里氏替换原则设计

当一个子类的实例应该可以替换任何其超类的实例时,它们之间才具备is-A关系 3d

image

04 依赖倒置原则

高层模块不该该依赖于低层模块,两者都应该依赖于抽象 抽象不该该依赖于细节,细节应该依赖于抽象

image

05 接口分离原则

不能强迫用户去依赖那些他们不使用的接口。换句话说,使用多个专门的接口比使用单一的总接口总要好。

image

这几条原则是很是基础并且重要的面向对象设计原则。正是因为这些原则的基础性,理解、融汇贯通这些原则须要很多的经验和知识的积累。上述的图片很好的注释了这几条原则。

转载自:www.cnblogs.com/shanyou/arc…

欢迎关注个人微信公众号:九章算法(ninechapter)。
精英程序员交流社区,按期发布面试题、面试技巧、求职信息等
2d09fefd332a1a68bb1c.jpeg
相关文章
相关标签/搜索