您的位置:首页 > 其它

面向对象思想所遵循的五大设计原则

2013-05-09 23:46 239 查看
单一职责原则(Single Responsibility Principle):
1.避免相同的职责分散到不同的类中;
2.避免一个类承担太多的职责;
这个在面向对象程序设计中非常重要,这个需要我们,明确我们所需要的对象,在设计类的时候不要让某一个类承担太多的职能,这样会减少类的复用性,同时加大类的复杂性。简单工厂模式和MVC都是这种模式的一个具体的应用。

接口隔离原则(Interface Separation Principle):
1.一个类对另外一个类的依赖是建立在一个最小的接口之上的。
2.客户端程序不应该依赖它不需要的接口方法。
这个原则的应用主要是防止我们设计出胖接口,一个接口代表一个角色,不应当将不同的角色都交给一个接口。没有关系的接口合并在一起,形成一个臃肿的大接口,这是对角色和接口的污染。“不应该强迫客户依赖于它们不用的方法。接口属于客户,不属于它所在的类层次结构。”这个说得很明白了,再通俗点说,不要强迫客户使用它们不用的方法,如果强迫用户使用它们不使用的方法,那么这些客户就会面临由于这些不使用的方法的改变所带来的改变。

开放封闭原则:
开放的模块必须是开发的,支持扩展的,而不是僵化的。
封闭指的是对模块的功能进行扩展时,不应该影响或者大规模地影响以有的程序模块。
实现开放与封闭原则的核心思想就是对抽象编程,因为抽象相对稳定。让类依赖于固体的抽象,这样的修改就是封闭的;通过面向对象的继承和多态,可以实现对对象题的继承,通过覆写其方法来改变固有行为,实现新的扩展方法,所以对于扩展就是开发的。

替换原则:
子类型必须能够替换掉他们的父类型、并出现在父类能够出现的任何地方。LSP原则能让我们正确地设计出合理的对象继承设计、合理地应用抽象机制。

依赖倒置:
上层模块不应该依赖于下层模块,他们共同依赖于一个抽象。
抽象不能依赖于具体,具体应该依赖于抽象。

本文出自 “大工软院的技术生活” 博客,请务必保留此出处http://webcrawler.blog.51cto.com/3663163/1197116
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: