六大设计原则

单一职责原则

原则定义

一个类应该只有应该发生变化的原因

每一个 类负责一个功能

模拟场景

访客用户,普通用户 VIP用户

编码实现

ifelse 判断实现 不易维护

开闭原则

定义

软件中的对象应该对应扩展是开放的,但是对于修改是封闭的

扩展开放

面积计算

长方形 三角形 圆形

编码实现

精度不同,自己定义而不是去改变父类的属性

要实现的功能用扩展,经过讨论,只有高度一致的情况才去修改

破坏方法 继承扩展

要有实际的应用场景,而不是一昧去继承

里氏替换原则

定义

继承必须确保超类所拥有的属性在子类中依然成立

银行卡

信用卡,地铁卡,储蓄卡

编码实现

银行卡类 正向 逆向

都有一个正向和逆向,如储蓄-提现,还款-贷款

储蓄卡

信用卡

继承储蓄卡进行替换,信用卡的类的功能实现没有破坏,储蓄卡类的功能实现,信用卡可以替换储蓄卡

同样的卡作了不同的事情,同一件事不同的卡,结果保持一致

相同的类,不同的参数,不同的类,

继承类,替换需要的功能,定义了一些标准,方便迭代

1,开闭原则是继承改动原有的方法,里氏替换是继承新增了功能,并保持继承父类,因此说是增强

2,这样的好处是,父类更新新增功能,子类可以直接无风险使用父类新增的功能

迪米特法则

定义

最少知道,减少依赖 ,高内聚,低耦合

在于降低类之间的耦合,由于每个对象尽量减少对其他对象的了解, 因此,很容易使得系统的功能模块功能独立,互相之间不存在(或很少有依赖关系)

接口隔离原则

定义

要求尽量将臃肿庞大的接口拆成更小更具体的接口,让接口只包含用户感兴趣的接口

编码实现

太过复杂会导致有些功能是用不上的,让不同的类继承不同的接口

依赖倒置原则

抽象不应该依赖于细节,细节应依赖抽象

定义

程序要依赖于抽象接口,不要依赖于具体实现,抽象不应该依赖于细节,细节应依赖抽象,就是要求对抽象进行编程,不要对实现进行编程,这样就降低里客户于实现模块之间的耦合

编码实现

用户抽奖,权重抽奖

如果后面还需要扩展,这个类变得臃肿,不稳定

优化重构

依赖倒置,二者应该依赖于抽奖

抽奖接口

随机抽奖

权重抽奖

控制抽奖

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值