对扩展是开放的,对更改是封闭的
里氏代换原则:子类型必须能够替换它们的夫类型。
单一职责原则:就一个类而言,应该仅有一个引起它变化的原因,如果能想到多于一个动机去改变一个类,那么这个类就具有多于一个的职责。
总结起来就是低耦合高内聚
代理模式(代理类和真类有共同的接口,代理类内部创建一个真类,方法里面放真类的方法)
代理模式的目的是,为其他类提供一种代理以控制对这个对象的访问。
interface Subject{
public abstract void Request();
}
class RealSubject implements Subject{
public void Request(){
System.out.println("真实的请求");
}
}
class Proxy implements Subject{
RealSubject realSubject;
public void Request(){
if(realSubject == null){
realSubject = new RealSubject();
}
realSubject.Request();
}
}
public class test{
public static void main(String[] args){
Proxy proxy = new Proxy();
proxy.Request();
}
}