what is the reason for a proxy class?
To remove duplication, you decide to create a base proxy class, and override only required methods. Here's what your refactoring looks like: SecurityProxyMembershipProvider is now much more simple, with 2 methods to override instead of 4, LogProxyMembershipProvider with 1 method instead of 4.