代理模式将一个类的核心功能和它的附加功能区别开来,分别放在不同的类里面,从而使每一个类的功能更加单一。
Public interface ProxyInterface
{
public void doing();
}
public class MainClass implements ProxyInterface
{
public void doing()
{
//core function
……
}
}
public class ProxyClass implements ProxyInterface
{
private ProxyInterface core = new MainClass();
public void doing()
{
//appending to do
……
//main function
core.doing();
}
}
我们可以看到,通过代理模式,上面的MainClass类用来实现核心功能,而ProxyClass类用来实现附加功能,这样使得两个类的功能都非常简单,易于实现。
总之,单一职责原则是一个既简单又实用的原则。我们遵守了这一原则,可能会多写一些类和代码,但磨刀不误砍柴工。该原则既有利于我们编码思路的清晰,又大大增强了代码的可维护性和扩展性。
还等什么呢?