您的位置:首页 > 运维架构 > 网站架构

IOC-->IOC+AOP-->热插拔的系统架构实现演化

2015-05-25 11:46 281 查看
这段时间通过对Spring源码的研究,大家都清楚Spring中最重要的两个概念IOC、AOP这两个是形影不离的两个东西。通过Spring让我们一步一步的推出软件架构从IOC-->IOC+AOP-->热插拔系统架构演化。




第一步:

我们一开始两个对象直接调用的时候是用直接调用的方式调用如下图






这种的调用方式如果两个对象只要有一个对象更改就要改变所以这样的调用方式不够灵活。如何解决这个问题呢?接下来下一步介绍。

第二步:

上面说了我们把两个对象绑死了现在我们就要打破这个“死”关系,如何改变这个状态了加入第三方让第三方来实现两个对象直接的调用管理。如下图:






这样一来我们就可以把各个对象直接不用绑死了加入了第三方的东西来实现两个对象直接的调用。现在解决了对象与对象直接调用的耦合。但是当对象一多了我们在对象中有一些公共的方法这时候我么会将怎么做了?没错将这些公共的抽出来然后将这些公共的方法放到一个公共对象中。例如每个对象都用到日志这个方法插入到每一个对象的方法中。下面我就为大家介绍如何做到这个的。

第三步

上一步给大家讲了我这一步将要吧公共的方法或者对象抽出来然后再动态的加入到业务对象中。如下图:






对没错就是用AOP来实现了动态的给业务颗粒对象加入公共颗粒对象。为了让这个更灵活我们下一步就加入XML配置文件。

第四步

上一步让业务颗粒在代码上灵活了现在为了让灵活更加完善我们就加入XML来读取对象把这些对象放入到不同的两个对象颗粒池中如图:






第五步

完善XML的读取和实例化对象实现热插拔。如下图:





总结:
从一开始一个对象到大规模业务颗粒和公共颗粒的解耦造就了软件的灵活,如果再加上可视化的配置界面我们就可以让软件的开发成本降为0元。只要有个项目过来我们配一配我们就可以弄出一个软件来。
转载请注明来源:http://blog.csdn.net/gwblue/article/details/45967793
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: