IOC--IOC+AOP--热插拔的系统架构实现演化
2019獨角獸企業重金招聘Python工程師標準>>>
這段時間通過對Spring源碼的研究,大家都清楚Spring中最重要的兩個概念IOC、AOP這兩個是形影不離的兩個東西。通過Spring讓我們一步一步的推出軟件架構從IOC-->IOC+AOP-->熱插拔系統架構演化。?
第一步:
? ?我們一開始兩個對象直接調用的時候是用直接調用的方式調用如下圖
? ?這種的調用方式如果兩個對象只要有一個對象更改就要改變所以這樣的調用方式不夠靈活。如何解決這個問題呢?接下來下一步介紹。
第二步:
? ?上面說了我們把兩個對象綁死了現在我們就要打破這個“死”關系,如何改變這個狀態了加入第三方讓第三方來實現兩個對象直接的調用管理。如下圖:
? ?這樣一來我們就可以把各個對象直接不用綁死了加入了第三方的東西來實現兩個對象直接的調用。現在解決了對象與對象直接調用的耦合。但是當對象一多了我們在對象中有一些公共的方法這時候我么會將怎么做了?沒錯將這些公共的抽出來然后將這些公共的方法放到一個公共對象中。例如每個對象都用到日志這個方法插入到每一個對象的方法中。下面我就為大家介紹如何做到這個的。
第三步
? ?上一步給大家講了我這一步將要吧公共的方法或者對象抽出來然后再動態的加入到業務對象中。如下圖:
? ?對沒錯就是用AOP來實現了動態的給業務顆粒對象加入公共顆粒對象。為了讓這個更靈活我們下一步就加入XML配置文件。
第四步
? ?上一步讓業務顆粒在代碼上靈活了現在為了讓靈活更加完善我們就加入XML來讀取對象把這些對象放入到不同的兩個對象顆粒池中如圖:
第五步
? ?完善XML的讀取和實例化對象實現熱插拔。如下圖:
總結:
? ?從一開始一個對象到大規模業務顆粒和公共顆粒的解耦造就了軟件的靈活,如果再加上可視化的配置界面我們就可以讓軟件的開發成本降為0元。只要有個項目過來我們配一配我們就可以弄出一個軟件來。
轉載請注明來源:http://blog.csdn.NET/gwblue/article/details/45967793
轉載于:https://my.oschina.net/newchaos/blog/1512319
總結
以上是生活随笔為你收集整理的IOC--IOC+AOP--热插拔的系统架构实现演化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网上贷款逾期了没钱还怎么办 网上贷款没钱
- 下一篇: Object_id用法