1.用户注册接口和实现
public interface IUserProcessor
{
void RegUser(User user);
}
public class UserProcessor : IUserProcessor
{
public void RegUser(User user)
{
Console.WriteLine("用户注册信息,Name:{0},PassWord:{1}", user.Name, user.PassWord);
}
}
public class User
{
public string Name { get; set; }
public string PassWord { get; set; }
}
2.通过静态编写代码的方式,装饰上面的用户注册
public class UserProcessorDecorator : IUserProcessor
{
public IUserProcessor UserProcessor { get; set; }
public UserProcessorDecorator(IUserProcessor userprocessor)
{
UserProcessor = userprocessor;
}
public void RegUser(User user)
{
PreProceed(user);
UserProcessor.RegUser(user);
PostProceed(user);
}
public void PreProceed(User user)
{
Console.WriteLine("方法执行前调用!");
}
public void PostProceed(User user)
{
Console.WriteLine("方法执行后调用!");
}
}
3.客户端调用
public class Client
{
public static void Run()
{
try
{
User user = new User() { Name = "lee", PassWord = "hello,world!" };
IUserProcessor userprocessor = new UserProcessorDecorator(new UserProcessor());
userprocessor.RegUser(user);
}
catch (Exception ex)
{
throw ex;
}
}
}
输出
方法执行前
用户已注册。Name:lee,PassWord:123123123123
方法执行后