.netCore 接口代替委托例子
1.委托
所谓委托通俗一点就是 把方法当作变量来传参
下面根据网上的例子来分析,接口替代委托
2.PizzaFactory 和ToyCarFactory是引用接口下面的方法
3.WrapProduct就是接口代替委托的方法,把接口传入至此
个人总结:java就是纯接口没有用委托,个人感觉接口比较更容易理解。
class Program {
static void Main(string[] args) {
var pizzaFactory=new PizzaFactory();
var toycarFactory=new ToyCarFactory();
var wrapFactory=new WrapFactory();
var box1 = wrapFactory.WrapProduct(pizzaFactory);//方法传参
var box2 = wrapFactory.WrapProduct(toycarFactory);//方法传参
Console.WriteLine(box1.Prouduct.Name);
Console.WriteLine(box2.Prouduct.Name);
}
}
interface IProductFactory {
Prouduct Make();
}
class PizzaFactory : IProductFactory {
public Prouduct Make() {
var product = new Prouduct();
product.Name = "Pizza";
return product;
}
}
class ToyCarFactory : IProductFactory {
public Prouduct Make() {
var product=new Prouduct();
product.Name = "ToyCar";
return product;
}
}
class Prouduct {
public string Name { get; set; }
}
class Box {
public Prouduct Prouduct { get; set; }
}
class WrapFactory {
public Box WrapProduct(IProductFactory productFactory) {
Box box = new Box();
var product = productFactory.Make();
box.Prouduct = product;
return box;
}
}
}