Skip to content

Latest commit

 

History

History
70 lines (52 loc) · 1.99 KB

设计模式总结.md

File metadata and controls

70 lines (52 loc) · 1.99 KB

工厂模式:租房子(别人盖好我来住)。

单利模式:只此一家,别无分店。

原型模式:多重影分身之术,每个分身的武器也不同

代理模式:游戏代练(你帮我上分)。

委派模式:军师旅团营,层层传递,说:打了胜仗再来见我,美滋滋

策略模式:条条大路通罗马,想走哪条走哪条。

模板模式:流程不变,内容改变。

适配器模式:强扭的瓜不甜,但解渴。

装饰者模式:锦上添花。

观察者模式:观察被观察者的一举一动,一有变化,做出响应。

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>