面向对象设计的五大原则

笔试题:面向对象设计的五大原则?你的设计违背了哪一条,结合开发经验。

去凯兰高面试时,让做的笔试卷里的一道题,当时觉得完全没听过,现在记录一下,保不准什么时候又被问到。



在面向对象设计中,如何通过很小的设计改变就可以应对设计需求的变化,这是令设计者极为关注的问题。

为此不少OO先驱提出了很多有关面向对象的设计原则用于指导OO的设计和开发。

Bob大叔提出并发扬了S.O.L.I.D五大原则,用来更好地进行面向对象编程,五大原则分别是:

单一职责原则SRP:Single Responsibility Principle

    本原则是我们非常熟悉地"高内聚性原则"的引申

开放封闭原则OCP:Open-Close Principle(开闭原则)

    一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的。因此在进行面向对象设计时要尽量考虑接口封装机制、抽象机制和多态技术。

Liskov替换原则LSP:Liskov Substitution Principle(里氏替换原则)

    子类应当可以替换父类并出现在父类能够出现的任何地方。

接口隔离原则ISP:Interface Separate Principle

    采用多个与特定客户类有关的接口比采用一个通用的涵盖多个业务方法的接口要好。

依赖倒置原则DIP:Dependency Invertion Principle

    在进行业务设计时,与特定业务有关的依赖关系应该尽量依赖接口和抽象类,而不是依赖于具体类。具体类只负责相关业务的实现,修改具体类不影响与特定业务有关的依赖关系。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值