本文仅作学习笔记与交流,不作任何商业用途,作者能力有限,如有不足还请斧正
本系列作为七大原则和设计模式的进阶知识,看不懂没关系请看专栏:http://t.csdnimg.cn/mIitr,查漏补缺
1.依赖倒置原则 (DIP)
这个原则的核心思想是:高层模块不应该依赖于低层模块,二者都应该依赖于抽象,具体来说,依赖倒置原则建议我们通过依赖抽象(如接口或抽象类)而不是具体实现来降低模块之间的耦合度
什么叫依赖?
依赖可以理解为耦合,就是两个类之间有互相套用的关系
举个不恰当的栗子
我有一台电脑,键盘模块和鼠标模块会互相影响, 比如我按WASD就会让浏览器中的鼠标发生移动,理论上来说这种操作是可行的
问题来了:那我该怎么打字?所以该种情况就显然不符合依赖倒置原则
这样子影响,显示不太合适,那么就应该依据依赖倒置原则 (DIP),用接口或者抽象类去继承实现一个抽象层-------输入接口
修改后
public interface InputInterface
{
protected void Click();
protected void Move();
protected void Input();
}
public class Mouse : InputInterface {
void InputInterface.Click() {
}
void InputInterface.Input() {
}
void InputInterface.Move() {
}
}
public class Keyboard : InputInterface {
void InputInterface.Click() {
}
void InputInterface.Input() {
}
void InputInterface.Move() {
}
}
这个接口还可以用 接口隔离原则,将键盘鼠标的不同行为分离开来C# & Unity 面向对象补全计划 七大原则 之 接口隔离原则 (ISP) 难度:☆ 总结:大接口分成小的,然后该干啥干啥-CSDN博客
我就不过多赘述了