面向对象的“六原则一法则”

单一职责原则:

一个类只作它该做的事情。高内聚,低耦合。一个模块只完成一项功能,一个对象如果承担过多的职责,那么注定什么也干不好

开闭原则:

软件实体对扩展开发,对修改关闭。当我们对原系统进行扩展时,只需要从原来的系统派生出一些新类即可。抽象是关键,没有抽象类或接口,就没有扩展点。封装可变性,将系统种的各种可变因素封装到一个继承结构种。

依赖倒转原则:

面向接口编程,尽可能使用抽象类而不是具体类,尽可能使用接口,而不是实现方法。方便重写更改。

里氏替换原则:

任何时候使用子类型替换父类型,使用用父类的方法的地方,一定要使用子类型。里氏替换原则可以检查继承关系是否合理,如果一个继承关系违背了里氏替换原则,那么这个继承关系一定是错误的,需要对代码进行重构。

需要注意的是:子类一定是增加父类的能力而不是减少父类的能力,因为子类比父类的能力更多,把能力多的对象当成能力少的对象来用当然没有任何问题。

List list = new ArrayList();整体是一个多态的体现。右方是里氏替换原则

接口隔离原则:

接口要小而专,而不是大而全,接口表示能力,且只描述一种能力,增加复用性,几个功能就实现几个接口,这样的话每个接口被复用的可能性是很高的。

合成聚合复用原则:

优先使用聚合或合成关系复用代码。

一般来说类与类一般有三个关系has a,is a,use a。分别代表继承,关联和依赖。其中关联关系根据关联的强度进一步划分成关联,聚合,和合成。但说白了都是has a的关系。说白了就是优先考虑has a关系不是is a的关系。记住任何时候都不要继承工具类,工具是拥有并可以使用的,而不是拿来继承的

迪米特法则

最少知识法则,一个对象应尽量对其他对象尽可能少的了解,降低耦合度。用对应的接口,做对应的事情

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sayhitoloverOvO

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值