我們將根據乙個例子來逐步了解 例子的詳細內容:例子
例子的功能:
實現一:以物件導向的方式實現demo
html報表
public
class
htmlreportgenerator
}
pdf報表
public
class
pdfreportgenerator
}
報表服務類
public
class
reportservice
}
在報表服務類中我們需要哪一種報表就例項化哪種報表
實現二:分離介面和實現
public
inte***ce
reportgenerator
其他的報表類需要實現reportgenerator介面並實現generate方法,這裡省略其他
public
class
pdfreportgenerator
implements
reportgenerator
}
報表服務類
public
class
reportservice
public
void
generatereport()
public
static
void
main
(string[
] args)
}
由於抽象了乙個報表介面,需要哪種報表,在報表服務端指定報表介面
實現三:採用容器
public
class
container
public
static container getinstance()
public object getcomponent
(string key)
}
測試類
public
class
run}
容器來幫我們new報表類
我們只需要傳入所需要的報表型別,容器返回我們那個報表物件
分析:
缺點
目標
實現四:使用服務定位器
服務定位器,將查詢報表的那個方法分離出來
public
class
servicelocator
}
這是用於查詢資源的通用設計模式,並不侷限於查詢元件
侷限 di(di(dependency injection ,依賴注入):
實現五
-完全面向介面
不同型別的依賴注入
Sping框架基本學習 二
註解介紹 裡面特殊標記,使用註解可以完成功能 註解寫法 註解名稱 屬性名稱 屬性值 註解使用在類上面,方法上面 和 屬性上面 匯入基本的jar包 匯入aop的jar包 建立類,建立方法 建立spring配置檔案,引入約束 xmlns xmlns xsi xmlns context xsi schem...
Spring框架 IOC DI和工廠類的概述
ioc控制反轉,將物件的建立權反轉交給了spring di 依賴注入,前提必須有ioc的環境,spring管理的這個類的時候將這個類的依賴的屬性注入 設定 進來 存在問題 ioc 在spring中的實現方式是通過定義配置檔案的方式將需要建立的物件交由spring來進行管理。但是依然純在有侷限性 父類...
Sping 梳理9 AOP簡介
aop可以說是oop object oriented programming,物件導向程式設計 的補充和完善。oop引入封裝 繼承 多型等概念來建立一種物件層次結構,用於模擬公共行為的乙個集合。不過oop允許開發者定義縱向的 關係,但並不適合定義橫向的關係,例如日誌功能。日誌 往往橫向地散布在所有物...