工厂模式:租房子(别人盖好我来住)。
单利模式:只此一家,别无分店。
原型模式:多重影分身之术,每个分身的武器也不同
代理模式:游戏代练(你帮我上分)。
委派模式:军师旅团营,层层传递,说:打了胜仗再来见我,美滋滋
策略模式:条条大路通罗马,想走哪条走哪条。
模板模式:流程不变,内容改变。
适配器模式:强扭的瓜不甜,但解渴。
装饰者模式:锦上添花。
观察者模式:观察被观察者的一举一动,一有变化,做出响应。
SpringAOP:
面向切面编程:定制一种规则,对于符合规则的可以动态的做出对应的响应。如:日志监听,事物控制。事物控制:当做一些读写操作时,动态的监听是否有异常,有则回滚当前的事物。
@Before(value="execution()")
public void before(){
System.out.println("在运行前。。。");
}
@After(value="execution()")
public void after(){
System.out.println("在运行后。。。");
}
@AfterReturning(value="execution()")
public void afterRrturn(){
System.out.println("在返回结果。。。");
}
@AfterThrowing(value="execution()")
public void afterThrow(){
System.out.println("在有异常。。。");
}
@Around(value="execution()")
public void around(){
System.out.println("在环绕。。。");
}
IOC:
控制反转:通过工厂加反射把创建工厂的权力交给Spring关理。
DI:
依赖注入:通过反射+扫描的形式往一个类中的属性引入另一个对象或赋值
XML版本进行IOC和DI
<!--会计分录规则设置 -->
<bean id="AtacctruleBvo" parent="JdbcTransactionProxyFactoryBean">
<property name="target">
<bean class="com.hundsun.app.account.logic.AtacctruleBvo">
<property name="atacctruleDao">
<ref local="AtacctruleDao"></ref>
</property>
<property name="seqNoDao">
<ref bean="SeqNoDao" />
</property>
</bean>
</property>
</bean>