面向对象设计的八大原则

设计的八大原则


开-闭原则(目标、总的指导思想)Open Closed Principle


对扩展开放,对修改关闭。


增加新功能,不改变原有代码。


类的单一职责(一个类的定义)Single ResponsibilityPrinciple


一个类有且只有一个改变它的原因。


适用于基础类,不适用基于基础类构建复杂的聚合类。


依赖倒置(依赖抽象)Dependency Inversion Principle


客户端代码(调用的类)尽量依赖(使用)抽象的组件。


抽象的是稳定的。实现是多变的。


组合复用原则(复用的最佳实践)Composite Reuse Principle


如果仅仅为了代码复用优先选择组合复用,而非继承复用。


组合的耦合性相对继承低。


里氏替换(继承后的重写,指导继承的设计)Liskov Substitution Principle


父类出现的地方可以被子类替换,在替换后依然保持原功能。


子类要拥有父类的所有功能。


子类在重写父类方法时,尽量选择扩展重写,防止改变了功能。


接口隔离(功能拆分) Interface Segregation Principle


尽量定义小而精的接口interface,少定义大而全的接口。本质与单

一职责相同。


小接口之间功能隔离,实现类需要多个功能时可以选择多实现.或

接口之间做继承。



面向接口编程而非面向实现(切换、并行开发)


客户端通过一系列抽象操作实例,而无需关注具体类型。


便于灵活切换一系列功能。


实现软件的并行开发。


迪米特法则(类与类交互的原则)Law of Demeter


类与类交互时,在满足功能要求的基础上,传递的数据量越少越

好。因为这样可能降低耦合度。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
面向对象八大设计原则是一组指导面向对象软件设计原则,也被称为SOLID原则。这些原则旨在提高软件的可维护性、可扩展性和可重用性。下面是对这八大设计原则的介绍: 1. 单一职责原则(Single Responsibility Principle,SRP):一个类应该只有一个引起它变化的原因。换句话说,一个类应该只有一个职责。 2. 开放封闭原则(Open-Closed Principle,OCP):软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。这意味着在不修改现有代码的情况下,可以通过添加新的代码来扩展功能。 3. 里氏替换原则(Liskov Substitution Principle,LSP):子类型必须能够替换掉它们的父类型。也就是说,如果一个类是父类的子类,那么它可以在任何使用父类的地方替代父类而不会引发错误。 4. 接口隔离原则(Interface Segregation Principle,ISP):客户端不应该依赖它不需要的接口。一个类不应该强迫它的客户端依赖于它们不使用的方法。 5. 依赖倒置原则(Dependency Inversion Principle,DIP):高层模块不应该依赖于低层模块,它们都应该依赖于抽象。抽象不应该依赖于具体实现,具体实现应该依赖于抽象。 6. 迪米特法则(Law of Demeter,LoD):一个对象应该对其他对象有尽可能少的了解。一个类应该只与它的直接朋友进行通信,而不是与陌生的类进行通信。 7. 合成复用原则(Composite Reuse Principle,CRP):尽量使用对象组合而不是继承来达到复用的目的。通过将对象组合在一起,可以灵活地增加新的行为,而不需要修改现有的代码。 8. 优先使用组合而不是继承原则(Prefer Composition Over Inheritance):在设计时,应优先考虑使用对象组合来实现代码的复用和扩展性,而不是过度使用继承。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值