using System;
public interface IEmployee {
string Design();
string StressTest();
string Mechanical();
string Performance();
}
public class ChiefDesignEngineer : IEmployee {
public string Design() {
return "Design ";
}
public string StressTest() {
return "Stress Test";
}
public string Mechanical() {
return "mechanical";
}
public string Performance() {
return "performance";
}
public ChiefDesignEngineer() { ;}
}
public class ProxyChiefDesignEngineer : IEmployee {
private ChiefDesignEngineer chief;
public string Design() {
return this.chief.Design();
}
public string StressTest() {
return this.chief.StressTest();
}
public string Mechanical() {
return "supplement to mechanical.";
}
public string Performance() {
return "Performance for Chief Design Engineer";
}
public ProxyChiefDesignEngineer() {
this.chief = new ChiefDesignEngineer();
}
}
public class Client {
static void Main(string[] args) {
ProxyChiefDesignEngineer caProxyChief = new ProxyChiefDesignEngineer();
Console.WriteLine(caProxyChief.StressTest());
Console.WriteLine(caProxyChief.Performance());
ProxyChiefDesignEngineer nyProxyChief = new ProxyChiefDesignEngineer();
Console.WriteLine(nyProxyChief.Mechanical());
}
}