Spring中与设计模式相关的部分(持续更新)

设计模式的六(七)大原则
1、开闭原则(Open Close Principle)
2、里氏代换原则(Liskov Substitution Principle)
3、依赖倒转原则(Dependence Inversion Principle)
4、接口隔离原则(Interface Segregation Principle)
5、迪米特法则,又称最少知道原则(Demeter Principle)
6、合成复用原则/单一职责原则(Composite Reuse Principle/Single Responsibility Principle)

  1. 解析注册beanDefinitions时,XmlBeanDefinitionReader的registerBeanDefinitions方法中将逻辑处理委托给单一类进行处理,这个类是BeanDefinitionDocumentReader,这里用到了单一职责原则
  2. DefaultBeanDefinitionDocumentReader类的doRegisterBeanDefinitions(Element root)中存在两个空方法,
//解析beanDefinition之前处理,留给子类实现。
preProcessXml(root);
parseBeanDefinitions(root, this.delegate);
//解析之后处理,留给子类处理
postProcessXml(root);

就像面向对象设计方法学中常说的一句话,一个类要么是面向继承设计的,要么就用final设计,这里两个方法都没有用final修饰。所以这里是为了子类而设计的。这里正是模版方法模式。如果继承自DefaultBeanDefinitionDocumentReader的子类需要在bean的解析前后做一些处理的话,只需要重写这两个方法就可以了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本文集网络上文章及自己coding和理解的结果而来,是设计模式学习的开篇。 本文介绍设计模式的一些概念,分类,和设...
    月落蝶殇阅读 3,552评论 0 0
  • 设计原则就是在设计模式背后更为深层的、更具有普遍性的、共同的思想原则,是提高软件系统的可维护性和可复用性的指导原则...
    苏先生Tongson阅读 4,929评论 0 0
  • 基础 jQuery就是一个js库 分类: 1.x版本: 能够兼容IE678浏览器 2.x版本:不兼容IE678浏览...
    Merbng阅读 1,364评论 0 0
  • 烈焰熊熊,炽流滚滚。周身灼灼谁能忍? 冶肝熔胆化曾经,铄筋铸骨销浑沌。 锻勇砧精,砥锋淬寸。历经水火方坚韧。 雄魂...
    凿冰而钓阅读 4,553评论 21 44
  • 群里一位仁兄问,对简书有意见怎么提? 我以为是bug,说在“我的”里的“反馈意见”提。 他回复说,不提了,有意见又...
    月下梨花阅读 2,790评论 7 6

友情链接更多精彩内容