1.单一职责原则要求实现类要职责单一:开闭原则要求对扩展开放、对修改关闭;里氏替换原则要求继承体系的合理性;依赖倒置原则要求面向接口编程;接口各路原则要求接口设计要精筒单一,迪米特法则要求减少不必要的中间过程的依赖;合成复用原则要求多用组合/聚合、少用继承
2.设计模式是软件开发中对于特定问题的经验总结,是针对特定问题经过实践检验的解决方案。
3.简单工厂模式由一个工厂类负责所有产品的创建、客户只需要知道工厂和产品的父类即可。简单工厂返回的数据类型都是父类类型,工厂方法一般都是静态的
4.工厂方法模式中一个具体工厂对应一个具体产品,符合开闭原则
5.代理模式可以隔离客户和目标对象,可以对目标对象进行功能扩展,目标对象和扩展功能职责清晰且没有耦合
6.静态代理在编译时就已经实现,代理关系在编译期就已经绑定,而动态代理是在运行时动态生成
7.JDK动态代理面向接口代理,CGLIB动态代理可以通过继承实现