设计模式学习笔记_桥接模式
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 桥接_咖啡加糖
{
abstract class Add_into_coffee
{
public abstract void add_into();
}
class add_Sugar:Add_into_coffee
{
public override void add_into()
{
Console.Write("添加了糖的");
}
}
class add_Lemon:Add_into_coffee
{
public override void add_into()
{
Console.Write("添加了Lemon的");
}
}
class add_Milk:Add_into_coffee
{
public override void add_into()
{
Console.Write("添加了牛奶的");
}
}
abstract class Coffee
{
protected Add_into_coffee add_into;
public void setAdd_into_coffee(Add_into_coffee add_into)
{
this.add_into = add_into;
}
public abstract void size();
}
class JorumCoffee:Coffee
{
public override void size()
{
add_into.add_into();
Console.WriteLine("大杯咖啡");
}
}
class MediumCoffee : Coffee
{
public override void size()
{
add_into.add_into();
Console.WriteLine("中杯咖啡");
}
}
class SmallCoffee : Coffee
{
public override void size()
{
add_into.add_into();
Console.WriteLine("小杯咖啡");
}
}
class Program
{
static void Main(string[] args)
{
Coffee cof;
cof = new MediumCoffee();
cof.setAdd_into_coffee(new add_Sugar());
cof.size();
cof = new SmallCoffee();
cof.setAdd_into_coffee(new add_Lemon());
cof.size();
Console.Read();
}
}
}