设计模式的几大原则和代理模式浅谈

设计模式的几大原则

单一职责原则(Single Responsibility Principle, SRP):一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。

开闭原则(Open-Closed Principle, OCP):一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。

里氏代换原则(Liskov Substitution Principle, LSP):所有引用基类(父类)的地方必须能透明地使用其子类的对象。

依赖倒转原则(Dependency Inversion Principle, DIP):抽象不应该依赖于细节,细节应当依赖于抽象。换言之,要针对接口编程,而不是针对实现编程。

接口隔离原则(Interface Segregation Principle, ISP):使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口。

迪米特法则(Law of Demeter, LoD): 知道最少原则,调用接口方对接口内的实现知道越少越好。

代理模式

通俗的说,就是通过代理隔离了这个对象,同时可能增强这个对象的一些功能。

  • 静态代理 : 代理类必须实现被代理类的接口。
  • 动态代理:基于Proxy类来实现,被代理类必须实现一个或者多个接口。
  • Cglib:不需要被代理类实现接口。代理工厂实现实现MethodInterceptor接口,再借助Enhancer来实现。

代理模式浅谈
java动态代理实现与原理详细分析
Cglib及其基本使用
Java Proxy 和 CGLIB 动态代理原理

深入了解系列:
深入理解JDK动态代理机制
深入理解CGLIB动态代理机制

你可能感兴趣的:(JAVA设计模式)