public class FXNewsProvider{
//provider 需要(依赖)Listener来获得新的新闻
//provide 需要(依赖)Persisters来存储新闻
private IFXNewsListener newsListener;//抓取新的新闻
private IFXNewsPersisters newsPersister;//存储新闻
//动作
public void getAndPersister(){
String[] newsIds = newsListener.getAvailableNewsIds();
if(ArrauUtils.isEmpty()){return;}
for(String newid : newsIds){
FXNewsBean newsbean = newsListener.getNewsByPK(newsId);
newsPersister.persisterNews(newsbean);
newsListener.postProcessIfNecessary(newsID);
}
}
//如果不引入IOC,那么我们就需要自食其力,最简单的方法是通过构造函数来自己创建我们依赖的对象的引用
public FXNewsProvider(){
newsListener = new IFXNewsListener();
newsPersister = new IFXNewsPersisters();
}
//但是如果我们引入了IOC的话,就轻松了,因为我们找了个帮手,由他来负责我们的工作.
//三中注入方式
//1.构造函数
public FXNewsProvider(IFXNewsListener newsListener, IFXNewsPersisters newsPersister){
this.newsListener = newsListener;
this.newsPersister = newsPersister;
}
//2.setter方法注入
public getNewsListener(){return newsListener;}
public setNewsListener(IFXNewsListener newsListener){this.newsListener = newsListener;}
FXNewsProvider fsp = new FXNewsProvider();
fsp.setNewsListener(newListener);
//省略 persister的方法..
//接口注入
//待续
}
IOC模式之我见 读书笔记 上半部分
最新推荐文章于 2022-06-12 18:38:09 发布