一:装饰器实现AOP
public class DecoratorAOP
{
public static void Show ( )
{
User user = new User ( )
{
Name = "Richard" ,
Password = "123123123123"
} ;
IUserProcessor processor = new UserProcessor ( ) ;
processor. RegUser ( user) ;
Console. WriteLine ( "***************" ) ;
processor = new UserProcessorDecorator ( processor) ;
processor. RegUser ( user) ;
}
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 UserProcessorDecorator : IUserProcessor
{
private IUserProcessor _UserProcessor {
get ; set ; }
public UserProcessorDecorator ( IUserProcessor userprocessor)
{
this . _UserProcessor = userprocessor;
}
public void RegUser ( User user)
{
BeforeProceed ( user) ;
this . _UserProcessor. RegUser ( user) ;
AfterProceed ( user) ;
}
private void BeforeProceed ( User user)