spring特性2-aop
来源:互联网 发布:7.23温州动车事故 知乎 编辑:程序博客网 时间:2024/06/16 17:32
1.场景
如果需要在mp3播放前将歌曲从云端同步下来,播放结束后将本地歌曲保存到云端。
2.解决办法
定义一个新的辅助类,并注入到mp3,在播放前和播放后调用辅助类中的相应方法。代码如下
package com.amber.ivy.spring;
/**
* 助理类,mp3同步助手
* @author ivyamber
*
*/
public class Assistant {
public static void main(String[] args) {
}
public void prepare()
{
System.out.println("同步云端歌曲列表到mp3");
}
public void save()
{
System.out.println("保存当前mp3内歌曲列表");
}
}
/**
* 助理类,mp3同步助手
* @author ivyamber
*
*/
public class Assistant {
public static void main(String[] args) {
}
public void prepare()
{
System.out.println("同步云端歌曲列表到mp3");
}
public void save()
{
System.out.println("保存当前mp3内歌曲列表");
}
}
package com.amber.ivy.spring;
/**
* 带有同步助手的mp3
* @author ivyamber
*
*/
public class Mp3WithoutAOP {
private Singer singer;//使用接口而不是用具体的实现
private Assistant assistant;
public Mp3WithoutAOP(Singer singer,Assistant assistant)
{
this.singer = singer;
this.assistant = assistant;
}
public void play()
{
assistant.prepare();
singer.sing();
assistant.save();
}
}
/**
* 带有同步助手的mp3
* @author ivyamber
*
*/
public class Mp3WithoutAOP {
private Singer singer;//使用接口而不是用具体的实现
private Assistant assistant;
public Mp3WithoutAOP(Singer singer,Assistant assistant)
{
this.singer = singer;
this.assistant = assistant;
}
public void play()
{
assistant.prepare();
singer.sing();
assistant.save();
}
}
package com.amber.ivy.spring;
public class NoneAOP {
public static void main(String[] args) {
Mp3WithoutAOP mp3 = new Mp3WithoutAOP(new NonePopMusicSinger(), new Assistant());
mp3.play();
}
}
public class NoneAOP {
public static void main(String[] args) {
Mp3WithoutAOP mp3 = new Mp3WithoutAOP(new NonePopMusicSinger(), new Assistant());
mp3.play();
}
}
输出结果:
同步云端歌曲列表到mp3
我是流行歌手,我唱流行音乐
保存当前mp3内歌曲列表
我是流行歌手,我唱流行音乐
保存当前mp3内歌曲列表
这样编写很容易理解。但是似乎不是每一个mp3使用者都希望mp3有这个功能,怎么办?
0 0
- spring特性2-aop
- Spring 中AOP 特性详解
- Spring AOP 入门(2)
- spring AOP(2)
- spring aop配置2
- Spring AOP 实例2
- spring aop 2
- Spring(2)AOP
- 2、Spring之AOP
- Spring aop 2
- Spring-AOP-2
- Spring AOP(2)
- spring的AOP简介与事务传播特性总结(转载)
- spring的AOP简介与事务传播特性总结
- spring的AOP简介与事务传播特性总结
- spring aop 复习 .2 切入点
- spring AOP执行2次
- spring框架之AOP-2
- @protocol 协议小结
- git基础
- 自己写的一个.net跨服务器查询方法
- Solution to CLRS Chapter 6
- Five must-know open source SDN controllers
- spring特性2-aop
- [cocos2d-x]坐标系,触屏自定义检测CCSprite的点击拖动等信息
- 0-1背包问题
- maya开洞的几种方法总结之一
- OPENCV的学习:图像特征检测之Harris角点算法
- 用JavaScript删除选中行
- DNN模型
- Crash和ANR简介及一些测试方法
- TCP&UDP编程