(二)设计模式的六大原则(二)设计模式的六大原则
(二)设计模式的六大原则(二)设计模式的六大原则4.依赖倒置原则5.接口隔离原则6.开闭原则
4.依赖倒置原则依赖倒置原则
依赖倒置原则:高层模块不应该依赖于低层模块,应该通过抽象依赖,而不是依赖低层,这里的抽象指的是抽象类/接口,细
节指的就是一切都明确的普通类,
以下面例子来说明:
首先先创建一个抽象类AbstractCar,抽闲类里添加一个Drive抽象方法
public abstract class AbstractCar
{
public abstract void Drive();
}
然后在分别创建都继承抽象类(AbstractCar)的BenzCar 类和BmwCar ,并且实现AbstractCar里的抽象方法Drive
public class BenzCar : AbstractCar
{
public override void Drive()
{
Console.WriteLine($"Drive:{this.GetType().Name}");
}
}
public class BmwCar : AbstractCar
{
public override void Drive()
{
Console.WriteLine($"Drive:{this.GetType().Name}");
}
}
在然后我们添加一个Person类,里面包含了属性,方法。。。
public class Person
{
public int ID { get; set; }
public string Name { get; set; }
public void CanBenzCar(BenzCar cars)
{
cars.Drive();
}
public void CanBmwCar(BmwCar cars)
{
cars.Drive();
}
}
.最后
static void Main(string[] args)
{
Person p = new Person()
{
ID=1,
Name="被煮了的小螃蟹"
};
BmwCar bmwCar = new BmwCar();
p.CanBmwCar(bmwCar);
BenzCar benzCar = new BenzCar();
p.CanBenzCar(benzCar);
}
根据上面代码我们看出,这种写法,如果在添加一个PorscheCar类,我还要在修改Person类,,如果添加更多的类,我就要
在Person类中添加更多的相应方法,这种就是依赖低层,这样的代码量多了就容易出现问题。所以这时我们就采取一种方法