设计模式-6大设计原则

前往目录:https://blog.youkuaiyun.com/qq_52681418/article/details/114828850

设计模式-6大设计原则

1.开闭原则

扩展时不改变原有代码。
一个抽象类被多个子类继承并实现抽象方法,调用者取得抽象类对象并调用方法,main中对调用者传入不同子对象来实现切换(拓展时加子类即可)。

‌2.里氏替换原则

能使用父类的地方一定能使用子类,正方形不是长方形。
假设长方形设置宽比高小时自增,正方形继承长方形方法后会死循环,因此根据此原则不能使用继承,解决方法:将共有方法提出为一个接口。

‌3.依赖倒置原则

调用类不依赖被调用类。
调用一个类时,应该调用目标类的父抽象类/接口,而不是直接调用该类,是开闭原则的具体实现。
使用时直接继承/实现接口,根据需求传入不同实现类。

‌4.接口隔离原则

子类不应该被迫依赖不使用的方法。
子类继承父类/类实现接口,会得到父类/接口的所有方法,假如部分方法不需要使用,则导致违背此原则。改进:将父类/接口拆分为多个接口,实现类按需实现。

‌5.迪米特法则

两个实体类无法直接通讯时,通过第三方。
即加一个中间人,你打暑假工,不需要直接找公司,你找中介,中介为你找公司。此时你、公司均与中介有关联,只需通过中介,就可以实现你与公司的事务。
朋友:中介类存入你对象、中介类存入公司对象

‌6.合成复用原则

先考虑组合、聚合,后考虑继承。
场景:汽车>分类型>分颜色使用继承,此时添加新类型,那么需要新类型>分颜色,此时需要创建新类型加大量颜色子类。
此时将颜色类聚合到汽车中,则不需要创建大量子类,说白了就是能放在父类的属性,就不要搞继承。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值