1. 程式人生 > >java的幾個概念AOP、IOC、DI、DIP、工廠模式、IOC容器

java的幾個概念AOP、IOC、DI、DIP、工廠模式、IOC容器

right 做成 概念 數據庫連接 依次 什麽 功能 抽象類 quest

1、AOP:面向切面編程

把一些公共類,比如日誌類、安全類、數據庫連接類、系統統一的認證、權限管理類、資源池(如數據庫連接池的管理)、性能監控等做成一個公共類,當其他類需要時,進行註入(調用)。這樣這些公共類存活於內存當中,隨時供其他類進行調用,不會因為某一個調用的類使用完而結束

這種在運行時,動態地將代碼切入到類的指定方法、指定位置上的編程思想就是面向切面的編程

2、DI:依賴註入

本來一個類依賴其他類,就在類中進行聲明對“具體類”的依賴,依賴註入的做法是把需要依賴的類寫成“抽象類”,這樣,“抽象類”就可以傳入(註入)各種“具體類”;依賴註入的實現方法有:構造函數、setter、接口三種方式

3、DIP:依賴倒置原則(Dependency Inversion Principle )

軟件設計的一個重要思想,把原本的高層建築依賴底層建築“倒置”過來,變成底層建築依賴高層建築。高層建築決定需要什麽,底層去實現這樣的需求,但是高層並不用管底層是怎麽實現的。我只需要告訴你我需要什麽,並不關心你是怎麽辦到的  

4、IOC:控制反轉( Inversion of Control )

控制反轉就是依賴倒置原則的一種代碼設計的思路,實現的方式是采用“依賴註入

5、IOC容器:就是完成了“根據上層類依次找到下層類,然後再由下層類一步一步創建,構造出上層類的過程”的任務

6、工程模式:把各種類似功能的模塊集中到一起,比如說水果工廠,裏面有菠蘿、蘋果、山竹、櫻桃等,當你需要具體某個水果類的時候,就調用這個工廠,傳遞參數(告知是某個水果)

參考:

1、https://www.zhihu.com/question/23277575

2、https://mp.weixin.qq.com/s?__biz=MzAxOTc0NzExNg==&mid=2665513179&idx=1&sn=772226a5be436a0d08197c335ddb52b8#rd

3、http://www.runoob.com/design-pattern/factory-pattern.html

4、https://www.zhihu.com/question/24863332

5、http://www.cnblogs.com/xrq730/p/4919025.html

java的幾個概念AOP、IOC、DI、DIP、工廠模式、IOC容器