1 自定义Spring IOC总结
1.1 使用到的设计模式
-
工厂模式。这个使用工厂模式 + 配置文件的方式。
-
单例模式。Spring IOC管理的bean对象都是单例的,此处的单例不是通过构造器进行单例的控制的,而是spring框架对每一个bean只创建了一个对象。
-
模板方法模式。AbstractApplicationContext类中的finishBeanInitialization()方法调用了子类的getBean()方法,因为getBean()的实现和环境息息相关。
-
迭代器模式。对于MutablePropertyValues类定义使用到了迭代器模式,因为此类存储并管理PropertyValue对象,也属于一个容器,所以给该容器提供一个遍历方式。
spring框架其实使用到了很多设计模式,如AOP使用到了代理模式,选择JDK代理或者CGLIB代理使用到了策略模式,还有适配器模式,装饰者模式,观察者模式等。
1.2 符合大部分设计原则
1.3 整个设计和Spring的设计还是有一定的出入
spring框架底层是很复杂的,进行了很深入的封装,并对外提供了很好的扩展性。而我们自定义SpringIOC有以下几个目的:
-
了解Spring底层对对象的大体管理机制。
-
了解设计模式在具体的开发中的使用。
-
以后学习spring源码,通过该案例的实现,可以降低spring源码学习的入门成本。
标签:自定义,Spring,模式,spring,设计模式,IOC From: https://www.cnblogs.com/xiaoyh/p/16563386.html