在Spring里,策略模式,加载资源文件的方式,使用了不同的方法,比如:ClassPathResourece,FileSystemResource,ServletContextResource,UrlResource但他们都有共同的借口Resource;在Aop的实现中,采用了两种不同的方式,JDK动态代理和CGLIB代理
锻炼身体,你可以选择跑步、游泳、举重,于是就有了三个策略可以选择了
package com.ij34.stategy; /* 策略模式接口 */ public interface StrategyPattern { /* 锻炼方式的方法 */ public void exercise(); }
1.
package com.ij34.stategy; /* 实现跑步锻炼方法 */ public class run implements StrategyPattern { @Override public void exercise() { System.out.println("我正在通过跑步来锻炼身体"); } }
2.
package com.ij34.stategy; /* 实现游泳锻炼方法 */ public class swim implements StrategyPattern { @Override public void exercise() { System.out.println("我正在通过游泳来锻炼身体"); } }
3.
package com.ij34.stategy; /* 实现举重锻炼方法 */ public class lift implements StrategyPattern { @Override public void exercise() { System.out.println("我正在通过举重来锻炼身体"); } }
package com.ij34.stategy; /* 通过该类为用户提供自己喜爱的锻炼方式 */ public class exerciseContext { private StrategyPattern sp; public exerciseContext(StrategyPattern sp){ this.sp=sp; } public void exercise(){ sp.exercise(); } }
package com.ij34.stategy; public class Test { /* 张三喜欢跑步,通过跑步来锻炼 */ public static void main(String[] args) { exerciseContext zhangsan=new exerciseContext(new run()); zhangsan.exercise(); } }
如对本文有疑问, 点击进行留言回复!!
《UnityAPI.Collision碰撞》(Yanlz+Unity+SteamVR+云技术+5G+AI+VR云游戏+Collision+collider+rigidbody+立钻哥哥++OK++)
荐 2020年Java面试上必问的26个高频关键知识点,刷三遍必进阿里腾讯大厂!就这么自信!
使用IDEA搭建Springboot项目(dao层使用Mybatis)
网友评论