
Java设计模式
文章平均质量分 91
Haozz_1994
万般皆下品,惟有读书高。
展开
-
Java设计模式之责任链模式
设计者往往会用拦截器去代替动态代理,然后将拦截器的接口提供给开发者,从而简化开发者的开发难度,但是拦截器可能有多个。举个例子,一个程序员需要请假一周,如果把请假申请单看成一个对象,那么它需要经过项目经理、部门经理、人事等多个角色的审批,每个角色都有机会通过拦截这个申请单进行审批或者修改。这事就要考虑提供项目经理、部门经理和人事的处理逻辑,所以需要提供3个拦截器,二传递的则是请假申请单。当一个对象在...原创 2018-05-27 23:34:48 · 981 阅读 · 0 评论 -
Java设计模式之动态代理(拦截器的应用)
todo原创 2018-05-27 22:38:39 · 2329 阅读 · 0 评论 -
Java设计模式之动态代理
动态代理的意义在于生成一个占位(又称代理对象),来代理真实对象,从而控制真实对象的访问。我们首先来谈谈什么是代理模式。假设客户带着需求去找公司,显然不会直接和软件工程师谈,而是和商务谈,此时客户会认为商务就代表公司,客户是通过商务去访问软件工程师的。我们就可以认为商务(代理对象)代理了软件工程师(真实对象),因此,代理的作用就是,在真实对象访问之前或者之后加入对应的逻辑,或者根据其他规则控制是否使...原创 2018-05-21 12:39:47 · 2762 阅读 · 0 评论 -
开闭原则浅析
开闭原则(OCP):一个软件实体(类、模块、函数)都应该对扩展开放,对修改封闭。在软件的生命周期内,因为变化、升级和维护等原因都会对原有代码进行修改,可能给原有代码引入错误。此时应尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有代码来实现。看下面一个最简单的代码例子。 package com.haozz.demo.fee; import org.springframework.ste...原创 2019-01-08 22:29:27 · 2702 阅读 · 0 评论